Zum Inhalt springen

[PHP] mysql_fetch_array mehrfach


Empfohlene Beiträge

hi und hallo,

gibt es eine möglichkeit in php, wie in ASP moveFirst, nach einem mysql_fetch_array($result) später das $result nochmal per mysql_fetch_array($result) auszulesen?

im moment gibt er mir beim zweiten auslesen des $results zwar per mysl_num_rows zurück dass einträge vorhanden sind, wenn ich aber mit mysql_fetch_array($result) das result auslesen möchte ist der zeiger offensichtlich schon am ende des result sets und die while schleife wird nicht einmal abgearbeitet...

was muss ich tun?

kann ich den zeiger wieder an den anfang des result sets stellen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

jo, ich hab das bis jetzt auch nicht gebraucht.komisch...

im endeffekt lese ich termindaten aus und speichere sie im result (das ja ein array ist oder???)

ich muss dann auf meiner seite an verschiedenen stellen mehrfach auf das result zugreifen, z.b. gibt es einen kalender der die daten ganau so benötigt wie an einer anderen stelle der seite die ausgabe einer eventliste....

Link zu diesem Kommentar
Auf anderen Seiten teilen

irgendwie verstehe ich dich gar nicht... man speichert keine daten im result


$mein_array = array();
$result = mysql_query("select id, name from table");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$mein_array=$row['id'];
$mein_array=$row['name'];
}
[/PHP]

und jetzt kannst du mit $mein_array machen und tun was du willst ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

jupp, das versteh ich schon, aber wieso geht denn folgendes nicht?


$result = mysql_query("select id, name from table"); 


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

  //schreibe kalenderZeilen

} 


//jetzt machmal zwischendurch was lustiges

.

.

.

//und jetzt evtl wie in ASP "moveFirst" um an den anfang des results zu springen


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

  //gib mir events aus

}

wäre halt weniger aufwand und komfortabler als mit arrays finde ich

Link zu diesem Kommentar
Auf anderen Seiten teilen

definierst Du vielleicht beim connectionaufbau was für einen Cursor die DB verwenden soll ?

unterstützt dein rdbms vielleicht nur einen move-forward-cursor ?

gruss

also nicht dass ich wüsste. ich mache im endeffekt nichts anderes als:

mysql_connect($dbhost,$dbuser,$dbpass) or die ("Leider ist ein Datenbankfehler aufgetreten. Bitte versuchen Sie es später noch einmal.");


mysql_select_db($dbname) or die ("Leider ist ein Datenbankfehler aufgetreten. Bitte versuchen Sie es später noch einmal.");

und vorher definiere ich halt die host, db und user variablen.

sollte ich wohl cursor definieren? kann ich damit dann zeiger auf results wieder an den anfang schieben? oder was genau mache ich damit?

vielen dank schonmal

Link zu diesem Kommentar
Auf anderen Seiten teilen


$result = mysql_query("select id, name from table"); 


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

  //schreibe kalenderZeilen

} 


//jetzt machmal zwischendurch was lustiges

.

.

.

//und jetzt evtl wie in ASP "moveFirst" um an den anfang des results zu springen

[b]mysql_data_seek($result, 0);[/b]


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

  //gib mir events aus

}

Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.

Link zu diesem Kommentar
Auf anderen Seiten teilen

[snip]


$mein_array = array();
$result = mysql_query("select id, name from table");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$mein_array=$row['id'];
$mein_array=$row['name'];
}
[/PHP]

und jetzt kannst du mit $mein_array machen und tun was du willst ...

Jo, nur das wohl nicht viel drin stehen wird, außer dem letzten Ergebnis von mysql_fetch_array.

Es müßte doch wohl

$mein_array[] = $row["id"];

...

lauten.

Desweiteren kann man auch direkt mysql_fetch_assoc benutzen.

Nur mal so, um das nicht so stehen zu lassen.

gruss vom pelz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...