Första posten blir inte med

PHP

4 svar · 297 visningar · startad av nill

Medlem sedan okt. 2001387 inlägg
Trådstart#1

Varför kommer aldrig första posten med med följande kod?

<?
$query = "SELECT * FROM gubbar";
$result = mysql_query($query, $dbconn); 
$post = mysql_fetch_array($result);

while ($post =  mysql_fetch_array($result)){
	?><IMG SRC="pic/gubbe.gif" ALT="<?=$post["typ"]?>"><?
}

?>
Medlem sedan feb. 200177 inlägg
#2

Hejsan!

$query = "SELECT * FROM gubbar";
$result = mysql_query($query, $dbconn);
$post = mysql_fetch_array($result);

Prova ta bort $post=...

Medlem sedan okt. 2001387 inlägg
#3

det fungerade bra. Tack.
Men kan någon förklara varför. Jag förstår inte riktigt? När ska jag ha med $post = osv...

Medlem sedan juni 20001 521 inlägg
#4

Om du bara ska ha med ett enda resultat kan du skippa while-grejen, och då funkar det bra med din $post-variant.

Medlem sedan aug. 20002 975 inlägg
#5

nill skrev:

det fungerade bra. Tack.
Men kan någon förklara varför. Jag förstår inte riktigt? När ska jag ha med $post = osv...

$post = mysql_fetch_array($result);
läser en rad ut resultatet och stegar fram till nästa.
Du läste en rad och stegade fram till nästa, men gjorde inget med den rad du läste, innan du läste igen i while-slingan.

Vet du säkert att det bara är en rad i resultatet så använder du

$post = mysql_fetch_array($result);

Kan det vara flera så loopar du fram dom med while:

while($post = mysql_fetch_array($result)){
  // Gör något med raden. Värdena ligger i arrayen $post
}
261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)