Seite lädt zulange

ungeliebt

Mitglied
Moin moin,

ich hab folgendes problem:
meine seite lädt unglaublich lange, dabei muss sie zur zeit nur 2 datensätze auslesen, aus der datenbank, schmeißt mir allerdings auch mehr leere felder aus,
warum weiß ich noch nicht so genau, vlt kann mir einer helfen?!

PHP:
<?php 


$host = "localhost";
$user = "root";
$password = "***";
$dbname = "test";
$tabelle ="ttbl";
$dbverbindung = mysql_connect ($host, $user, $password) or die(mysql_error());
$sql = "SELECT * FROM `ttbl`"; 
$maxsql ="SELECT MAX(ID) FORM `ttbl`"; 
$result = mysql_db_query ($dbname, $sql, $dbverbindung); 
$db_erg = mysql_query( $sql );
$db_max = mysql_query($maxsql);

if ( ! $db_erg ) 
{ 
die('Ungültige Abfrage: ' . mysql_error()); 
} 
echo '<table border="1">'; 
      $zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC);    
         $i = 1;
         while ($i != $db_max) {
         echo "<tr>";
             $a = $i+2;
         For ($z=$i ; $z < $a ; $z++){
                $zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC);
                 echo "<td>" .$zeile['nachname']."<br>" .$zeile['vorname']."<br>" .$zeile['schicht']."<br>".$zeile['gebdate']."<br>".$zeile['position']."</td>";
                 if ($zeile['picfree'] != "no")
                           {  echo "<td>". $zeile['bild'] . "</td>"; }
                 else      { echo "<td>". "<img src='platzhalter.jpg'>" . "</td>"; }                
                 $i = $z;}
        echo "</tr>";
         }   
         
         
         
mysql_close();
?>


edit : wenn ich anstelle von $db_max einen festen wert nehme, geht das janze recht schnell,
ich hab die sql abfrage direkt in sql getest, und es kommt tatsächlich der stimmige wert raus
 
Zuletzt bearbeitet:
PHP:
while($zeile = mysql_fecht_array($db_erg, MYSQL_ASSOC) {
    //Alles was du brauchst
}

So geht dein Script auch jeden Datensatz durch, dann brauchst du auch keine Max ID rausfinden.

Die For Schleife in der While Schleife könnte auch viel Performance klauen die habe ich mir jetzt nicht angeschaut
 
klappt trotzdem noch nicht richtig,
läßt alle die datensätze weg wo picfree = no ist und
macht immer noch 2 tr / td auf/ zu zum ende!
 
Ich sehe gerade du holst dir innerhalb der for Schleife nochmal die Zeilen, das ist doch nicht nötig:

PHP:
while($zeile = mysql_fecht_array($db_erg, MYSQL_ASSOC) { 
    echo "<tr>";
    echo "<td>" .$zeile['nachname']."<br>" .$zeile['vorname']."<br>" .$zeile['schicht']."<br>".$zeile['gebdate']."<br>".$zeile['position']."</td>"; 
    if ($zeile['picfree'] != "no") {
        echo "<td>". $zeile['bild'] . "</td>";
    } else {
        echo "<td>". "<img src='platzhalter.jpg'>" . "</td>";
    }
    echo "</tr>";
}

Müsste eigentlich so gehen, ich habe aber keine Ahnung was du mit der For-Schleife wolltest.
 
Zurück