vor weit über einem Jahr wurde mir hier im Forum ein Codeschnipsel zur Verfügung gestellt den ich zum Anzeigen der Ministranten auf unserer Website nutze.
Nun ist mir aber aufgefallen dass bei gut 35 Minis die Seite ewig lange lädt.
Das wäre kein Problem, wenn nicht die Seite ZUERST 35 Sekunden laden würde, in denen ich nur den Hintergrund der Seite sehe, und dann der Inhalt angezeigt wird, wobei dann die Fotos erst noch nachgeladen werden müssen, wodurch mit einer Ladezeit von locker 60 Sekunden gerechnet werden muss - so lange wollen die Benutzer aber verständlicherweise nicht warten. Ich poste jetzt einfach einmal den aktuellen Code (der vermutlich inzwischen nicht mehr valide ist, aber das lassen wir jetzt einmal fürs erste beiseite, weil ich die verwendeten Elemente, divs, p-Elemente etc. sowieso nochmal überdenken muss nachdem jetzt neue Menüpunkte dazukommen. Vielleicht hat jemand eine Idee wie man das beschleunigen könnte.
Code: Alles auswählen
<?php
require("/var/www/kunden/superminis/web/adm_program/system/common.php");
//header ('Content-type: text/html; charset=utf-8');
echo('<h2>Unsere Ministranten</h2>');
echo ('<div id="zweidivcenter">');
echo ('<div id="bdiv">');
$var = array(3, 1, 2, 7, 8); //Buben
foreach($var as $Person) { /* in der Variable $Person wird immer die ID des Minis kopiert */
//echo $Person;
$user = new User($g_db, $Person);
echo ('<div class="rahmen">');
echo ('<div class="title"><strong>');
$gdt = $user->getValue('Geburtstag');
if ($gdt <> "") {
$teile = explode("-", $gdt);
$tag = $teile[2];
$monat = $teile[1];
$jahr = $teile[0];
$time = mktime(0,0,0,date("m"),date("d"),date("Y"));
$birthday = mktime(0,0,0,$monat,$tag,$jahr);
$alter = intval(($time - $birthday) / (3600 * 24 * 365));
}
else
{
$alter = '?';
}
if($g_valid_login == 1) {
$g_db->setCurrentDB();
if($g_current_user->isWebmaster()) {
echo '<a href="members/adm_program/modules/profile/profile_new.php?user_id=' . $Person .'" rel="floatbox" title="Profil bearbeiten" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/edit.png" width="16" height="16" alt ="Profil bearbeiten" title="Profil bearbeiten" /></a> <a href="members/adm_program/modules/profile/profile_photo_edit.php?usr_id='.$Person.'" rel="floatbox" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/photo_upload.png" alt="Foto hochladen" title="Foto hochladen"></a> ';
}
else
{
if ($Person == $g_current_user->getValue("usr_id"))
{
echo '<a href="members/adm_program/modules/profile/profile_new.php?user_id=' . $Person .'" rel="floatbox" title="Profil bearbeiten" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/edit.png" width="16" height="16" alt ="Profil bearbeiten" title="Profil bearbeiten" /></a> <a href="members/adm_program/modules/profile/profile_photo_edit.php?usr_id='.$Person.'" rel="floatbox" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/photo_upload.png" alt="Foto hochladen" title="Foto hochladen"></a> ';
}
}
}
echo ('<a name="'. $user->getValue('Vorname').$user->getValue('Nachname').'" class="anker">' . $user->getValue('Vorname'). ' '. $user->getValue('Nachname') . '</a> (' . $alter . ' Jahre)');
if($user->getValue('Homepage') != "") {
echo ' <a href="' . $user->getValue('Homepage') . '" target="_blank"><img src="gb/weblinks.png" alt="Homepage" /></a>';
} else {
//echo "Keine Hobbies angegeben";
}
echo ('</strong></div>');
//echo ('<dl class="mini subpic"><dt><img src="foto.php?a_user_id=' . $Person . '" alt="' . $user->getValue('Vorname'). ' '. $user->getValue('Nachname') . '" width="92px" /></dt></dl>');
if ($Person == $g_current_user->getValue("usr_id"))
{
echo '<dl class="mini subpic"><dt><iframe allowtransparency="true" src="minis/foto.php" height="122px" width="92px" frameborder="0" scrolling="no" ></iframe></dt></dl>';
} else {
echo '<dl class="mini subpic"><dt><img src="foto.php?a_user_id=' . $Person . '" alt="' . $user->getValue('Vorname'). ' '. $user->getValue('Nachname') . '" width="92px" /></dt></dl>';
}
echo ('<br />');
//echo ('<img src="ministranten/foto.php?user=');
//echo ($Person);
if($user->getValue('Hobbies') != "") {
echo '<b>Hobbies:</b> ' . $user->getValue('Hobbies');
} else {
echo "<i>Keine Hobbies angegeben</i>";
}
if ($user->getValue('Facebook-UID') <> "") {
echo('<p><a href="fb.php?id='.$user->getValue('Facebook-UID').'" target="_blank"><img src="images/fb.png" alt="" /></a></p>');
}
if($user->getValue('usr_usr_id_change') > 0)
{
$user_change = new User($g_db, $user->getValue('usr_usr_id_change'));
echo '<br />Letzte Änderung: '. mysqldatetime('d.m.y', $user->getValue('usr_timestamp_change'));
}
echo ('</div>');
echo "<br />\n";
}
echo ('</div>');
echo ('<div id="mdiv">');
$var = array(10, 5, 4, 6, 9); //Mädchen
foreach($var as $Person) { /* in der Variable $Person wird immer die ID des Minis kopiert */
//echo $Person;
$user = new User($g_db, $Person);
echo ('<div class="rahmen">');
echo ('<div class="title"><strong>');
$gdt = $user->getValue('Geburtstag');
if ($gdt <> "") {
$teile = explode("-", $gdt);
$tag = $teile[2];
$monat = $teile[1];
$jahr = $teile[0];
$time = mktime(0,0,0,date("m"),date("d"),date("Y"));
$birthday = mktime(0,0,0,$monat,$tag,$jahr);
$alter = intval(($time - $birthday) / (3600 * 24 * 365));
}
else
{
$alter = '?';
}
if($g_valid_login == 1) {
$g_db->setCurrentDB();
if($g_current_user->isWebmaster()) {
echo '<a href="members/adm_program/modules/profile/profile_new.php?user_id=' . $Person .'" rel="floatbox" title="Profil bearbeiten" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/edit.png" width="16" height="16" alt ="Profil bearbeiten" title="Profil bearbeiten" /></a> <a href="members/adm_program/modules/profile/profile_photo_edit.php?usr_id='.$Person.'" rel="floatbox" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/photo_upload.png" alt="Foto hochladen" title="Foto hochladen"></a> ';
}
else
{
if ($Person == $g_current_user->getValue("usr_id"))
{
echo '<a href="members/adm_program/modules/profile/profile_new.php?user_id=' . $Person .'" rel="floatbox" title="Profil bearbeiten" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/edit.png" width="16" height="16" alt ="Profil bearbeiten" title="Profil bearbeiten" /></a> <a href="members/adm_program/modules/profile/profile_photo_edit.php?usr_id='.$Person.'" rel="floatbox" rev="width:640 height:480 scrolling:auto theme:blue"><img src="images/photo_upload.png" alt="Foto hochladen" title="Foto hochladen"></a> ';
}
}
}
echo ('<a name="'. $user->getValue('Vorname').$user->getValue('Nachname').'" class="anker">' . $user->getValue('Vorname'). ' '. $user->getValue('Nachname') . '</a> (' . $alter . ' Jahre)');
if($user->getValue('Homepage') != "") {
echo ' <a href="' . $user->getValue('Homepage') . '" target="_blank"><img src="gb/weblinks.png" alt="Homepage" /></a>';
} else {
//echo "Keine Hobbies angegeben";
}
echo ('</strong></div>');
echo ('<dl class="mini subpic"><dt><img src="foto.php?a_user_id=' . $Person . '" alt="' . $user->getValue('Vorname'). ' '. $user->getValue('Nachname') . '" width="92px" /></dt></dl>');
echo ('<br />');
//echo ('<img src="ministranten/foto.php?user=');
//echo ($Person);
if($user->getValue('Hobbies') != "") {
echo '<b>Hobbies:</b> ' . $user->getValue('Hobbies');
} else {
echo "<i>Keine Hobbies angegeben</i>";
}
if ($user->getValue('Facebook-UID') <> "") {
echo('<p><a href="fb.php?id='.$user->getValue('Facebook-UID').'" target="_blank"><img src="images/fb.png" alt="" /></a></p>');
}
if($user->getValue('usr_usr_id_change') > 0)
{
$user_change = new User($g_db, $user->getValue('usr_usr_id_change'));
echo '<br />Letzte Änderung: '. mysqldatetime('d.m.y', $user->getValue('usr_timestamp_change'));
}
echo ('</div>');
echo "<br />\n";
}
echo ('</div></div>')
?>