Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] order by rand() a stronicowanie
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Witam!

Posiadam taki prosty skrypt ze stronicowaniem za pomocą LIMIT. Chciałem zrobić sortowanie losowe wszystkich rekordów z bazy i takie ich wyświetlenie. W tym zadaniu świetnie sprawia się ORDER by RAND(). Niestety, czasami niektóre rekordy się powtarzają i chciałbym to wyeliminować. Pytanie tylko jak to zrobić?

Pozdrawiam, Mateusz!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Powiedzmy ze robisz zapytanie:

  1.  
  2. if(!isset($_SESSION['id_rand']))
  3.  
  4. $query = "SELECT * FROM `wyroby` ORDER BY RAND() LIMIT 10, 10";
  5.  
  6. else $query = "SELECT * FROM `wyroby` where TABELA NOT IN('".implode(',', $_SESSION['id_rand'])."') ORDER BY RAND() LIMIT 10, 10";
  7.  
  8.  
  9.  
  10.  


POtem dane wyciagniete przez zapytanie zapisuj do sesji oczywiscie do jakies zmiennej zapisz wszystkie dane za pomoca while($dane = mysql_fetch_assoc()):

Kod
$_SESSION['id_rand'][] = $dane_z_sql


Taki ogolny zarys bo teraz nie mam czasu.

Ten post edytował marcio 8.11.2009, 19:29:41
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 03:11