forTeesSake Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 habs zwar nie probiert, aber darf man fragen wofür ? wenn du die daten längerfristig brauchst, dann speichere sie in einem array Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 23. November 2005 Autor Teilen Geschrieben 23. November 2005 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.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 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 ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 23. November 2005 Autor Teilen Geschrieben 23. November 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
zirri Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 23. November 2005 Autor Teilen Geschrieben 23. November 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 $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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 23. November 2005 Autor Teilen Geschrieben 23. November 2005 du bist einfach klasse. danke!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
pelz Geschrieben 23. November 2005 Teilen Geschrieben 23. November 2005 [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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.