Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][PDO] Losowe elementy?
sexigrzes
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 21.04.2010

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


Witam

Jak sformułować zapytanie aby otrzymać losowe 3 elementy? chodzi co dać po ORDER by id. Znam ASC, DESC, szukałem polecenia odpowiadającemu LOSOWEMU wyborowi ale nie znalazlem. Kiedy takie coś miałem ale nie mogłem w starych projektach tego odnaleźć

  1. $zapytanie = $pdo -> query('SELECT * FROM loga_klientow ORDER by id LIMIT 3');


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. ORDER BY RAND() LIMIT 3


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
masiakla
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 17
Dołączył: 4.09.2010
Skąd: far far away

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


Cytat(skowron-line @ 12.09.2010, 19:31:21 ) *
  1. ORDER BY RAND() LIMIT 3

Nie ma nic bardziej obciążającego bazę ....
W zależności od ilości danych możesz pobrać wszystkie rekordy i machnąć shuffle, albo jakiś przedział.
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(masiakla @ 12.09.2010, 17:34:04 ) *
Nie ma nic bardziej obciążającego bazę ....
W zależności od ilości danych możesz pobrać wszystkie rekordy i machnąć shuffle, albo jakiś przedział.

zgadza się, kolega może sobie poszukać na guugle jak optymalizuje się takie zapytanie.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
wookieb
post
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(masiakla @ 12.09.2010, 19:34:04 ) *
Nie ma nic bardziej obciążającego bazę ....
W zależności od ilości danych możesz pobrać wszystkie rekordy i machnąć shuffle, albo jakiś przedział.

Weź ty się zastanów z pare razy. lepiej pobrać milion (choć nie musi być nawet tyle) rekordów i je wylosować zamiast to zrobić na bazie? Pomyśl ...
Metod losowania rekordów jest trochę więc jeżeli autorowi tematu będzie to potrzebne to się zgłosi.

Ten post edytował wookieb 12.09.2010, 18:38:09


--------------------
Go to the top of the page
+Quote Post
masiakla
post
Post #6





Grupa: Zarejestrowani
Postów: 80
Pomógł: 17
Dołączył: 4.09.2010
Skąd: far far away

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


Cytat(wookieb @ 12.09.2010, 19:37:07 ) *
Weź ty się zastanów z pare razy. lepiej pobrać milion (choć nie musi być nawet tyle) rekordów i je wylosować zamiast to zrobić na bazie? Pomyśl ...
Metod losowania rekordów jest trochę więc jeżeli autorowi tematu będzie to potrzebne to się zgłosi.

Czytanie ze zrozumieniem się kłania.
Cytat(masiakla @ 12.09.2010, 19:34:04 ) *
Nie ma nic bardziej obciążającego bazę ....
W zależności od ilości danych możesz pobrać wszystkie rekordy i machnąć shuffle, albo jakiś przedział.


Z resztą nvm, bo nie będę się tutaj kłócił o pierdołę.

Ten post edytował masiakla 12.09.2010, 19:51:10
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 Aktualny czas: 20.08.2025 - 11:59