Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> order by RAND()
acztery
post
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
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.
Go to the top of the page
+Quote Post
acztery
post
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 (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
thek
post
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 (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
acztery
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:35