![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witajcie
![]() Mam tabelę skontruowaną tak: id|adres|premium|zatwierdzone. Potrzebuję zbudować pytanie które będzie losowo wyświetlało dane z tej tabeli, jednak zachowując, że wyświetla tylko gdy zatwierdzone = 1 (to akurat nie jest dla mnie problemem) i pamiętając, że rekordy gdzie premium = 1 są zawsze na początku. Czyli gdy rekordy są takie: Cytat 1|onet.pl|1|1 2|wp.pl|1|1 3|interia.pl|1|1 4|gazeta.pl|0|1 5|di.com.pl|0|1 6|localhost|0|1 To raz wyświetla mi: onet.pl, interia.pl, wp.pl, di.com.pl, localhost, gazeta.pl a za innym razem interia.pl, onet.pl, wp.pl, localhost, gazeta.pl, di.com.pl. Czyli losowość ale zachowując regułę, że rekordy z premium = 1 zawsze na początku ![]() Budowa prostych zapytań nie jest dla mnie trudnością, jednak takie zapytania już nie są na moją wiedzę. Dzięki z góry ![]() Pozdrawiam, Marcin Jarek ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 30.05.2007 Skąd: Kleszczów Ostrzeżenie: (0%) ![]() ![]() |
Najpierw sobie wylosuj z tabeli te, które mają zatwierdzone i są premium ( WHERE ((premium=1) AND (zatwierdzone=1)) ) a później dodaj do wyniku tylko te, które są zatwierdzone i nie są premium ( WHERE ((premium=0) AND (zatwierdzone=1)) ). Ja bym to tak zrobił. Dwa proste zapytania zamiast jednego skomplikowanego.
-------------------- Szczęścia w mrokach...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Faktycznie, mógłbym tak zrobić (i zrobie tak) ale chodzi mi, aby były wszystkie rekordy w losowej kolejności. W tym też jest problem - bo nie wiem jaka funkcja za to odpowiada.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 30.05.2007 Skąd: Kleszczów Ostrzeżenie: (0%) ![]() ![]() |
Jako, ze słabo się znam to zrobiłbym tak:
Pobrać wszystkie rekordy zwiazane z zatwierdzonym i premium później na wyniku użyłbym funkcji opisanej tutaj http://php.net.pl/manual/pl/function.array-rand.php i wyświetlił to co trzeba. Następnie zrobiłbym to samo z tablicą zatwierdzonych ale bez premiuma. -------------------- Szczęścia w mrokach...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Panowie, bez żartów... google: mysql random i macie jak na tacy podane. Podpowiem: ORDER BY RAND()...
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 30.05.2007 Skąd: Kleszczów Ostrzeżenie: (0%) ![]() ![]() |
A powiem Ci, ze nie wpadłem by szukać w google, lenistwo i pogoda <- winne
-------------------- Szczęścia w mrokach...
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję wszystkim za pomoc
![]() EOT. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 21:45 |