Rafix24
24.03.2004, 01:35:58
Witam
Chcialbym zeby zapytanie zwracalo mi rekordy w losowej kolejnosci.
Utrudnieniem jest to, ze wyniki zapytania podzielone sa na strony poprzez LIMIT wiec nalezaloby zrobic to tak, zeby przy odczytywaniu wynikow jednego zapytania ale na kolejnych stronach wynikow tego zapytania byla ta sama kolejnosc (zeby nie powtarzaly sie rekordy i by moc powrocic po nr do wczesniej upatrzonego rekordu) a przy nastepnym wyszukiwanie (po kliknieciu buttona "szukaj") byla juz inna kolejnosc wynikow...
Jak zrobic takie cholerstwo :?: :cry:
scanner
24.03.2004, 07:22:46
[php:1:b7ab850dd3]<?php
// pseudokod
$strQuery = "SELECT id FROM table ORDER BY RAND()";
$db->Query( $strQuery );
$_SESSION['RowOrder'] = $db->FetchRow( $db->resResult );
?>[/php:1:b7ab850dd3]W tym momencie w sesji masz zapisana tablice mniej wiecej taką:[php:1:b7ab850dd3]<?php
$_SESSION['RowOrder'] = array (1, 5, 6, 10, 2, 7);
?>[/php:1:b7ab850dd3]Twoim zadaniem jest tylko kontrola, aby pierwszy kod byl wywolywany "na żądanie" a nie przyt każdym wyświetleniu strony.
W!ktor
24.03.2004, 20:49:54
A jak odwrocic kolejnosc wypisywania? Tzn. mam teraz "ORDER BY ID" a chcialbym "ORDER BY (odwrotnosc)ID"?
zalew
24.03.2004, 23:28:05
[sql:1:59a7864527]ORDER BY `id` DESC[/sql:1:59a7864527]
lub
[sql:1:59a7864527]SELECT * FROM `rtfm` WHERE `rozdzial` LIKE '%order by%'[/sql:1:59a7864527]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.