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
thomson89
post
Post #2





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

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


Ok, dzięki!

POPRAWKA: Zabrałem się do roboty:
  1. $siema = array();
  2. $i = 1;
  3. while($i <= 150){
  4. $siema .= ', '.$i;
  5. $i++;
  6. }
  7. $_SESSION['id_rand'] = $siema;


Dałem tak, żeby sprawdzić czy działa... I dalej:

  1. //pobieranie id, żeby nie powtarzać
  2. if(!isset($_SESSION['id_rand']))
  3. $query1 = 'SELECT * FROM `wyroby` ORDER BY RAND() LIMIT '.$start.', '.$perPage;
  4. else
  5. $query1 = 'SELECT * FROM `wyroby` WHERE `id` NOT IN('.$_SESSION['id_rand'].') ORDER BY RAND() LIMIT '.$start.', '.$perPage;


Ale niestety nie działa, wywala:
Kod
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\WEB\mamusia\tresc\bizuteria\galeria_wszystkie.php on line 70


Ten post edytował thomson89 8.11.2009, 21:18:50
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: 7.10.2025 - 17:46