mysql_fetch_assoc
Tunnel85
- php
0 suit
Hallo zusammen, muss das Forum heute schon zum zweiten mal strapazieren. Vergebt mir!
Ich möchte in einem div per Zufallsprinzip Bilder aus einer Datenbank anzeigen. Jetzt dachte ich, da mysql_fetch_assoc ja ein assoziatives Array liefert, könnte ich einfach mit rand() einen beliebigen Datensatz ausgeben lassen. Jetzt habe ich mir mal mysql_fetch_assoc ausgeben lassen (print_r) und sehe da nichts von einem assoziatives Array.
Ist mein Ansatz so richtig oder ist es auf diese Weise gar nicht möglich eine Zufallsfunktion zu bauen?
Gruß
Tunnel85
Ich möchte in einem div per Zufallsprinzip Bilder aus einer Datenbank anzeigen. Jetzt dachte ich, da mysql_fetch_assoc ja ein assoziatives Array liefert, könnte ich einfach mit rand() einen beliebigen Datensatz ausgeben lassen. Jetzt habe ich mir mal mysql_fetch_assoc ausgeben lassen (print_r) und sehe da nichts von einem assoziatives Array.
mysql_fetch_assoc liefert dir ein assoziatives array EINES datensatzes - alle datensätze liegen nachwievor im datenbankobjekt welches du aus mysql_query() erhälst
Ist mein Ansatz so richtig oder ist es auf diese Weise gar nicht möglich eine Zufallsfunktion zu bauen?
du müsstest erst dein zeug ein mehrdimensionales array schreiben
aber als grundsatz: wenn etwas die datenbank machen kann, lass es die datenbank machen - du willst einen zufälligen datensatz aus einer mysql-tabelle?
was spricht gegen sortierung nach zufall: ORDER BY RAND()
du solltest übrigens mysql_fetch_array($result, MYSQL_ASSOC) anstatt mysql_fetch_assoc() verwenden - die funktionen sind vergleichbar schnell, allerdings ist erstere funktion flexibler
Danke suit,
auf den Einfall mit rand() direkt in der Abfrage bin ich gar nicht gekommen
Gruß
Tunnel
hi,
du solltest übrigens mysql_fetch_array($result, MYSQL_ASSOC) anstatt mysql_fetch_assoc() verwenden - die funktionen sind vergleichbar schnell, allerdings ist erstere funktion flexibler
Oder mit der Zeit gehen und gleich auf die MySQL Improved Extension (MySQLI) umsteigen.
Ein kurzer Vergleich mit der veralteten Geschichte spricht für sich.
mfg