Zufälliger Datenbankeintrag
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
argument
auswahl
bel
checken
entsprechenden namen
error
fehlermeldung
gesamten datensatz
gesamten eintrag
limit
not
order
resource
result
schauen
spalten
syntax
tabelle
variable
zeile
-
Hallo zusammen!
Gerade gr?bel ich dar?ber nach, wie ich aus mehreren Datenbankeintr?gen einen zuf?llig anzeigen kann.
Kann man so etwas mit 'rand' l?sen oder gilt das f?r Datenbanken nicht? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Und was zeigt das an? Ich meine, ich brauche nur eine Zeile aus dem Eintrag und nicht alles ... ich nehme an, das zeigt den gesamten Eintrag, oder? Muss ich dann in rand() einfach die Zeile eintragen, wenn ich diese vorher definiert habe? oder einfach den Zeilennamen?
Ich wei?, viele Fragen ... sorry! -
LIMIT 1 begrenz die auswahl auf nur einen Datensatz.
Ohne LIMIT w?rde die gantze Spalte zufallig geordnet ausgegeben werden
btw. gibt es keinen zufall 8) -
Ja, soweit war mir das klar ... aber ich brauche wie gesagt nur eine Zeile und nicht den gesamten Datensatz.
-
Echt? Ist das ne Spalte? Hups ... okay, dann eben ne Spalte
Danke, ich probier das dann gleich mal aus!
-----
EDIT:
Scheint so aber nicht wirklich zu funktionieren, wirft mir einen Parse error raus.
Beitrag ge?ndert am 10.06.2006 20:40 von cam -
Welchen?
Wenns der "is not a valide Sql-Object" oder so ?hnlich ist, hast du eine Spalte falsch benannt, und er findet sie nicht
Tabelle ist alles, also dass, was bei phpMyAdmin auf der linken seite unter der Datenbank steht
Spalte ist das was vertical in der Standartansicht nach unten geht
Also den was man da den Namen gibt
Zeile ist alles eingetragene, in der Zeile stehen alle werte f?r ne Spalte
http://img237.imageshack.us/img237/6774/bild3nl.png
Hab leider nur Win2k, aber bitmaps m?ssen unter Windows nicht konvertiert werden xDD -
Welche Zeile?
Schau mal ob du dass Semikomma (;) in der While gemacht hast -
kai008 schrieb:
Welche Zeile?
Schau mal ob du dass Semikomma (;) in der While gemacht hast
Hinter while() geh?rt kein ; !
Und au?erdem kann das hier auch ohne Schleife gemacht werden, da eh nur ein Ergebnis zu erwarten ist.
$sql = mysql_query("SELECT EineSpalte FROM dieTabelle ORDER BY RAND() LIMIT 1"); $row = mysql_fetch_array($sql); $variable = $row['EineSpalte'];
-
cam schrieb:
Hm, damit kommt eine andere Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Dieses Problem ist auf eine fehlerhafte Datenbankabfrage zur?ckzuf?hren ...
?berpr?fe mal den Query. -
Das steht im Query:
mysql_query("SELECT spalte FROM tabelle ORDER BY RAND() LIMIT 1");
Nat?rlich f?r spalte und tabelle die entsprechenden Namen und ich habe auch schon mehr als nur einmal nachgesehen, ob ich es richtig geschrieben habe *seufz* -
Dann f?llt mir nur noch ein, dass du es mal so probieren k?nntest:
mysql_query("SELECT `spalte` FROM `tabelle` ORDER BY RAND() LIMIT 0,1");
?ndert zwar eigentlich nicht viel, aber vll hilft es ja. -
Das steht im Query:
mysql_query("SELECT spalte FROM tabelle ORDER BY RAND() LIMIT 1");
Nat?rlich f?r spalte und tabelle die entsprechenden Namen und ich habe auch schon mehr als nur einmal nachgesehen, ob ich es richtig geschrieben habe *seufz*
Wie w?rs, wenn du einfach exakt das kopieren w?rdest, was du geschrieben hast?
Setz hinter "mysql_query ()" noch "print (mysql_error ());" und poste was dann geschrieben wird.
MfG Lucas -
Stimmt, das ?ndert rein gar nichts.
Mit dieser print-Fehlerbeschreibung kam das zutage:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''zufallsbild' ORDER BY RAND() LIMIT 0,1' at line 1 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage