ORDER BY RAND() Problem

Seba

Grünschnabel
Hallo zusammen
Ich habe ein Problem der mich zu Verzweiflung bringt :confused: .
Ich möchte Daten aus einem Datenbank per ORDER BY RAND() ausgeben und diese auf mehreren Seiten verteilen pro Seite zum Beispiel 7 soweit funktioniert es aber wenn der User jedoch zu nächste Seite wechselt bekommen er oft die mehre gleichen Ergebnisse die schon auf der vorherigen Seiten standen. Das liegt daran, dass jeder Wechsel zu nächsten Seiten den RAND() neu aufruft. Wie kann ich es so machen das es nur bei dem ersten Aufruf der Seite aufgerufen wird und dann die Sortierung bei nächsten Seiten behält.

Ich habe schon gegoogelt und auch mehrere Forums durchgeschaut und auch hier nichts gefunden.
Zu besseren Verständnis poste ich hier den MySQL query
PHP:
SELECT id, anz_titel, anz_text, foto_01, foto_02, foto_03, foto_04, foto_05, foto_06,
		                              DATE_FORMAT(anz_datum,'%d-%m-%Y') AS datum, anz_art,
		                              model_zip, model_city FROM hu_model_anz AS hu_anz
		                                       LEFT JOIN hu_model_data AS hu_data
		                                       ON hu_anz.model_id = hu_data.model_id
		                                       WHERE hu_anz.anz_frei='yes' AND
		                                       hu_data.model_zip LIKE '$plz%'
		                                       ORDER BY anz_art !='premium' AND anz_art !='premium_club', RAND() LIMIT $query_string
 
Wenn Du RAND einen Seed übergibst und in jeder Seite der Blätterfunktion denselben verewndest, kannst Du immer die gleiche Reihenfolge erzeugen.
Du solltest diesen Seed allerdings für jede Session vorher mit PHP generieren, damit man nicht bei jedem Seitenbesuch dasselbe Ergebnis erhält. Falls das gewünscht ist, kannst Du natürlich auch einen festen Seed nehmen.

Getestet habe ich das allerdings noch nie.

Gruß hpvw
 
hpvw hat gesagt.:
Wenn Du RAND einen Seed übergibst und in jeder Seite der Blätterfunktion denselben verewndest, kannst Du immer die gleiche Reihenfolge erzeugen.
Du solltest diesen Seed allerdings für jede Session vorher mit PHP generieren, damit man nicht bei jedem Seitenbesuch dasselbe Ergebnis erhält. Falls das gewünscht ist, kannst Du natürlich auch einen festen Seed nehmen.

Getestet habe ich das allerdings noch nie.

Gruß hpvw


Danke für deinen Rat es funktioniert Perfekt :-)

Gruß
Seba
 
Zurück