[TYPO3-UG Freiburg] zufällige Seiten-Sortierung mit DB-Abfrage
Heiko Hänsge
mailinglisten at wild-wild-web.de
Wed Feb 24 16:20:01 CET 2010
Hallo Steffen,
>> Hat da jemand einen Hinweis, oder muss ich das Ergebnis-Array mit PHP
>> im Nachhinein 'durchmischen'?
> Das ist die beste Lösung, mit der Du kompatibel zu allen Datenbanken
> bleibst.
>
> Z.B. würde bei Oracle ORDER BY RAND() nicht funktionieren, sondern
> ORDER BY DBMS_RANDOM.VALUE
>
> Ich würde gerne Wissen, wie Du das mit PHP löst.
:-)
// erst mal alle relevanten Datensätze aus der DB holen
$result = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'pages', $where,
'', '', '');
// alle Datensätze in ein Array gepackt
$allResults = array();
$i = 0;
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($result)) {
$allResults[$i] = $row;
$i++;
}
// die Indizes der Datensätze mischeln
shuffle($allResults);
// die Anzehl der auszugebenden Datensätze auf $count begrenzen
$truncResults = array_slice($allResults, 0, $count, true);
// bei der Ausgabe beachten, dass USER_INT benutzt wird statt USER,
sonst wird die Ausgabe gecacht.
Viele Grüße
Heiko Hänsge
http://wild-wild-web.de/
More information about the TYPO3-UG-Freiburg
mailing list