Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Jedno zapytanie, dwa różne wyniki i warunki.
Forum PHP.pl > Forum > Przedszkole
kapi1008
Witam. W jednym pliku mam 2 zapytania. Jedno wyciąga użytkowników online a drugie użytkowników z wartością kolumny `top` większej od 0.

Dane z zapytań wędrują do 2 różny pętli while.


Zapytanie 1:
  1. $online = query("SELECT `id`, `avatar`, `username` FROM {{table}} WHERE `onlinetime` > '".$time."' ORDER BY `onlinetime` DESC LIMIT 20;", "users");


Zapytanie 2:
  1. $top = query("SELECT `id`, `avatar`, `username` FROM {{table}} WHERE `top` > '0' ORDER BY `top` DESC LIMIT 8;", "users");


Czy ktoś mógł by mi wyjaśnić jak mogę to wyciągnąć jednym zapytaniem??
slawek3422
  1. $online = query("SELECT `id`, `avatar`, `username` FROM {{table}} WHERE `onlinetime` > '".$time."' AND `top` > '0' ORDER BY `onlinetime` DESC LIMIT 20;", "users");



O to chodziło ?
kapi1008
Niestety nie. To które podałeś wyciągnie userów którzy spełniają oba warunki jednocześnie. Ja potrzebuje 2 różne list userów. 1 lista z jednym warunkiem a 2 z drugim warunkiem.
krzywy36
nie zrobisz tego jednym zapytaniem. chyba, że wyciągniesz wszystkie rekordy z bazy i podzielisz to sobie na 2 tablice w php, ale to się chyba mija z celem.
kapi1008
Hmm. Szkoda. Myślałem że jest jakiś sposób.

Dzięki wam za odpowiedzi.
mortus
UNION + pseudokolumna
  1. SELECT `id`, `avatar`, `username`, 'onlinetime' AS `restriction_type` FROM {{TABLE}} WHERE `onlinetime` > '".$time."' ORDER BY `onlinetime` DESC LIMIT 20
  2. UNION
  3. SELECT `id`, `avatar`, `username`, 'top' AS `restriction_type` FROM {{TABLE}} WHERE `top` > '0' ORDER BY `top` DESC LIMIT 8
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.