PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql_fetch_array in for Schleife


Xyro
04.05.2006, 14:43:54
Hallo!
Ich habe folgendes Problem:
Ich lese Datensätze aus einer DB.
In einer For-Schleife habe ich eine While-Schleife über das resultierende Query.
Die While-Schleife wird nur einmal ausgeführt und danach nie wieder, obwol die For-Schleife noch mehrere Durchgänge hat... Warum???

Schema:

$query="SELECT * FROM datenbank";
$result = mysql_query($query);
for($i=0;$i<=10;$i++){
while($row = mysql_fetch_array($result){
echo $row["id"]; //Wird nur beim ersten For-Durchgang ausgeführt :(
}
}


Mach ich da was falsch oder gibt es dafür einen Grund und ggf. ein Work-Arround?

MfG Robert

Xyro
04.05.2006, 15:22:35
Also ich habe festgestellt das nach der ersten Abarbeitung die while Bedingung nicht mehr zutrifft. Aber warum? Ich verändere ja nichts an dem Result...
Seltsam...!

Opendix
04.05.2006, 18:08:37
was willst du dedn damit hier erreichen???
für was ist die for gedacht?

conmunich
04.05.2006, 20:29:58
wie wärs mit:

$query="SELECT * FROM datenbank LIMIT 10";

oder is die for schleife für was anderes gedacht. ich denke nicht.

mfg! conmunich

Xyro
05.05.2006, 08:57:11
was willst du dedn damit hier erreichen???
für was ist die for gedacht?

Ich habe in der For-Schleife bei jedem Durchlauf veränderte Bedingungen und will diese jedesmal mit den einzelnen Datensätzen vergleichen..

xabbuh
05.05.2006, 12:09:02
Dann müsstest du den internen Zeiger nach der Abarbeitung der while-Schleife mit mysql_data_seek() (http://www.php.net/mysql_data_seek)wieder auf das erste Ergebnis setzen.

Xyro
08.05.2006, 11:21:14
Fettes Danke!
Genau das hats gebracht...! Warum mir die Funktion bisher nicht aufgefallen ist... mh...

Jetzt gehts auf jeden Fall!

MfG