Använder nedanstående kod på min sida.. Den ska hämta alla bilder från en databas och skriva ut fem på varje rad. Problemet är att det tar jättelång tid att ladda sidan och det kommer upp: "Fatal eror: Maximum execution time of 30 seconds exeeded in /url/fil.php". Det kommer även massa tomma rader under... Vad är det för fel??
echo "<table>";
$rows=$new_memb_pic+2;
$i=0;
while($i<$rows){
echo "<tr>";
$open = mysql_connect ("localhost", "","");
$sql = "SELECT * FROM tabell WHERE status=1 ORDER BY id ASC LIMIT ".$i." , 5";
$result = mysql_db_query("","$sql");
while($medlbilder=mysql_fetch_array($result)){
echo "<td><img src=\"/profiler/" . $medlbilder[personid] . "/bilder/" . $medlbilder[filnamn] . "\" width=150 height=100 border=0 alt=\"Klicka för att
förstora\"><br>Uppladdad: " . date("ymd \k\l\. H:i", $medlbilder[uppladdad]). " av " . $medlbilder[person] . ".<br><a
href=\"fil.php?visa=uppladdade&vad=uppladdad&svar=ja&vilken=".$medlbilder[id]."\">Godkänn</a>/<a
href=\"fil.php?visa=uppladdade&vad=uppladdad&svar=nej&vilken=".$medlbilder[id]."\">Neka</a></td>";
$i = $i+1;
}
}
echo "</table>";
Det tar fortfarande väldigt lång tid, felmeddelandet kommer fortfarande upp och sidan blir jättelång pga. tomma rader som skrivs ut. Jag har mer poster i gästboken och den hämtas med limit men är ändå lika snabb som sql-hämtningarna på alla de andra sidorna. Bara just den här hämtningen som är seg.
$rows räknar hur många poster det finns i databasen.. Därför har jag ha en while-sats som ska köras så länge det finns poster. Kanske är onödigt... Vad vet jag. Sen ska den skriva ut fem poster på varje rad. Så finns det fler än fem poster skapas en ny rad och skriver ut fem till. $i = $+1 adderar ju 1 för varje post som skrivs ut. Så när den skrivit ut fem poster så är $i 4 och den börjar med post fem och skriver ut. Kanske är krångligt att läsa men du förstår nog...
$i=0 måste väl vara ovanför $open? Det visade fel när den var innan för... Den skriver ut fem bilder nu och det går fort.. Men jag har mer än fem poster i databasen så det ska skrivas ut en till rad men det görs inte.. Annars så fungerar det bra och snabbt...