MySQL - ORDER BY RAND() und PHP
hallo zusammen
ich möchte mit php und mysql einen beliebigen datensatz aus einer db auf meiner webseite anzeigen. wenn folgenden mysql befehl auf der mysql console eingebe, funktioniert das auch: Code:
mysql> SELECT * FROM zitat ORDER BY RAND() LIMIT 1; der php code lautet wie folgt: Code:
$db = @MYSQL_CONNECT($db_host,$db_user,$db_pw) or die ("mysql connect failed"); besten dank. grüsse, marc |
moin,
lass das "LIMIT 1" mal aus deinem query raus, dann bekommst du auch mehr angezeigt.... |
der datensatz wird doch per zufall ermittelt, und wenn 100x der letzte dran ist dann ist es eben so. sofern der query in mysql korrekt geht gehts auch in php.
durch das weglassen von limit 1 werden die datensätze zufällig sortiert ;) |
das soll docj passieren, oder was meinst du warum man sonst rand() verwendet?
ist doch wohl logisch... und wenn er limit 1 weg lässt dann werden alle daten sätze ausgegeben und ... mehr wolte er doch nicht oder habe ich da was nicht mit gekriegt??? |
was mich eben irritiert, ist die tatsache, dass wenn ich es auf der mysql console mache er wirklich immer einen anderen datensatz anzeigt, nur wenn ich es per php aufrufe, tut er das nicht.
|
also, bei mir funktionniert der befehl aus php problemlos. auch mit limit 1
|
komisch. ist schon irgendwie unlogisch, dass er es auf der mysql console richtig macht und mit php immer nur den letzten anzeigt.
kann das vielleicht daran liegen, dass im moment lediglich 3 datensätze vorhanden sind? in meinem code (siehe oben) ist ja auch nichts falsch, oder? |
hmm. nein. mein code ist genau der selbe. (nur hab ich rand klein geschrieben, das macht aber kein unterschied.)
versuch mal limit 2 oder so und schau dann, obs funktionniert, oder gar ohne limit, was dann rauskommt |
vielleicht hat er die seite auch im cache und bearbeitet den code gar nicht mehr erst...
|
wenn ich limit 2 angebe, nimmt er einfach die zwei letzten und wenn ich das limit ganz rausnehme, dann tut er die ganze tabelle einfach in umgekehrter reihenfolge darstellen.
aus dem cache nimmt er es auch nicht - habe ich geschaut. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:34:11 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.