webForumDet fria alternativet

Första posten blir inte med

PHP

4 svar · 282 visningar · startad av nill

Medlem sedan okt. 2001387 inlägg
Frågan#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
}
255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)