Zufällige SQL abfrage |
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
Hi,
ich möchte aus einer SQL Tabelle nach 2 oder 3 Bedingungen abfragen, und vn den ergebnissen dann nur eines auslesen, also wie limit=1 , nur sollte das ganze per zufall geschehen, net irgend wie geordnet.
Gruß
Andy
|
 Profil
Editieren
Zitieren
|
HG
Posting-Schinder
Beiträge: 520 |
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
danke
|
 Profil
Editieren
Zitieren
|
c3o
Posting-Schinder
Beiträge: 585 |
Ich hatte mit ORDER BY RAND(NOW()) viel bessere Ergebnisse als ohne das NOW().
Das mag von der MySQL-Version abhängen.. wenn du mit dem Ergebnis unzufrieden bist probiers jedenfalls mit dem zusätzlichen NOW().
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
kann mir mal jemand erklären für was das Now in dem Fall steht???
|
 Profil
Editieren
Zitieren
|
c3o
Posting-Schinder
Beiträge: 585 |
Die aktuelle Unix-Zeit, als Seed (Initialwert) für den Zufallszahlengenerator. Eigentlich sollte der MySQL-(Pseudo)Random Number Generator keinen Seed brauchen, aber es scheint da Bugs bei bestimmten Versionen zu geben: http://bugs.php.net/bug.php?id=22597
Probier einfach rum, wies für dich am besten funktioniert.
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
ok werde ich machen
|
 Profil
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
habe da noch ein Problem:
ich will jede Woche einen anderen Link auf der Startseite anzeigen, das sollte per zufall wie oben ausgelesen werden, nur wie mache ich es dass die ganze Woche der gleiche kommt,...
könnte ja am Anfang der Woche eine datei machen, in der die id gespeichert wird, und diese dann jede Woche bei schreiben, nur wie stelle ich das an, oder per SQL ????
wäre super wenn mir jemand helfen könnte.
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Ich würd bei jedem Aufruf prüfen, ob eine neue Woche angefangen hat. Wenn ja, dann wählst du per Zufall einen Link aus und schreibst den in ne Datei oder in nen MySQL-Feld. Und dort her liest du dann den aktuellen Link.
Die Wochen-Zahl bekommst du per strftime("%W").
Can
---
" S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
andy1983
Otto-Normal-Poster Threadstarter
Beiträge: 62 |
wie bekomme ich es hin, dass jede Woche dann die Zahl geändert wird??? will ja net jede Woche ne neue Datei erstellen,...
wäre super, wenn mir jemand nen Beispiel Text sagen könnte, das erstellen der Datei,... reicht.
oder meint ihr ich soll das ganze über nen Cronjob machen ????
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
strftime("%W") gibt jede Woche eine andere Zahl zurück.
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|