Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> order by RAND()
acztery
post 22.07.2011, 13:28:17
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


witam mam taki kod


  1. return $this->MysqlGetArray("SELECT * FROM movie WHERE act='1' ORDER by RAND() LIMIT 2");


chciałbym zmienić to tak aby zapytanie wylosowało 2 losowe z posród 10 najlepszech gdzie kolumna "r"

czyli losuje 10 najlepszych potem z nich 2....

chciałbym to w 1 zapytaniu


wczesniej miałem tak:


  1. $array_rand = $this->MysqlGetArray("SELECT * FROM movie WHERE act='1' ORDER by r DESC LIMIT 10");
  2. return array_rand($array_rand,2);


ale coś nie działa na tego typu tablicach te sortowanie.


PS

najlepiej by było jak by to 1 zapytaniem zrobić.
Go to the top of the page
+Quote Post
thek
post 22.07.2011, 13:52:32
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Stwórz podzapytanie. Główne zapytanie bądzie z rand() i limit 2, a w jego wnętrzu jako FROM będzie podzapytanie losujące owe 10 najlepszych.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
acztery
post 28.07.2011, 11:15:26
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


  1. function m_listHot ()
  2. {
  3. return $this->MysqlGetArray("SELECT * FROM (SELECT * FROM movie WHERE act='1' limit 10) WHERE act='1' ORDER by RAND() LIMIT 2");
  4. }


chyba nie tak bo nie dziala sad.gif
Go to the top of the page
+Quote Post
thek
post 28.07.2011, 11:51:22
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To zapoznaj sie z błędami jakie generuje to zapytanie a Cie olśni, bo powinno jasno pisać czemu jest błąd. Powiem, że bilans jest na 0, bo masz w sumie jedną rzecz niepotrzebnie (choć w sumie nie przeszkadza jej obecność), a o jedną za mało smile.gif I chodzi głównie o to "jedno za mało", o czym komunikat błędu ładnie pisać powinien. Przynajmniej gdy ja podobne kiedyś pisałem, poinformowal mnie grzecznie o braku aliasu dla podzapytania.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
acztery
post 28.07.2011, 12:10:04
Post #5





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


as tmp dodałem i śmiga dzięki
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: 14.08.2025 - 11:08