Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowanie n-ty raz
Arkon
post 12.12.2004, 21:11:54
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.02.2004

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


Witam. Jak wybrac z bazy 8 najnowszych rekordow a nastepnie wylosowac 1 z nich i go wyswietlic? W tej chwili mam cos takiego:
  1. SELECT id, rys, tytul, seria_id
  2. FROM zbior WHERE polecamy =1 AND patronat!=1
  3. ORDER BY RAND()
  4. LIMIT 1

Ale jak widac to losuje 1 element z calego "zbior". Pomocy bo nei potrafie z tym sobie poradzic...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
popbart
post 12.12.2004, 22:43:33
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

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


  1. SELECT id, rys, tytul, seria_id
  2. FROM zbior WHERE polecamy =1 AND patronat!=1
  3. ORDER BY id DESC LIMIT 8


  1. <?php
  2.  
  3. $rand=rand(0,7);
  4. $tab=mysql_fetch_row($result);
  5. echo $tab[$rand][0].&#092;" \".$tab[$rand][1].\" \".$tab[$rand][2].\" \".$tab[$rand][3];
  6.  
  7. ?>


Ps. nie testowałem, więc uważaj smile.gif


--------------------
Visual Basic - kto by pomyślał :)
Go to the top of the page
+Quote Post
Arkon
post 13.12.2004, 12:07:43
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.02.2004

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


A nie da sie jakos ladniej bezposrednio w SQLu?
Go to the top of the page
+Quote Post
scanner
post 13.12.2004, 12:22:08
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




A tak poróbowałeś?
  1. SELECT id, rys, tytul, seria_id
  2. FROM zbior WHERE polecamy =1 AND patronat!=1
  3. ORDER BY id DESC, RAND()
  4. LIMIT 1


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Arkon
post 14.12.2004, 18:18:47
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.02.2004

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


Eee chyba nie rozumiem. Gdzie w tym zapytaniu jest cos o ostatnich 8 dodanych rekordach?
Go to the top of the page
+Quote Post
popbart
post 14.12.2004, 23:29:03
Post #6





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

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


  1. SELECT * FROM(SELECT id, rys, tytul, seria_id
  2. FROM zbior WHERE polecamy =1 AND patronat!=1
  3. ORDER BY id DESC LIMIT 8 ) AS t ORDER BY RAND() LIMIT 1
cool.gif

Ten post edytował popbart 14.12.2004, 23:33:19


--------------------
Visual Basic - kto by pomyślał :)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:23