Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Pobranie 3 wartości przy 3 warunkach, W jednym zapytaniu
Lirdoner
post
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Witam po raz kolejny. Na swojej stronie chcę wyświetlić liczbę zalogowanych użytkowników, liczbę zalogowanych kobiet i liczbę zalogowanych mężczyzn
Czy muszę wykonywać 3 osobne zapytania z trzema osobnymi warunkami?
Dla zalogowanych użytkowników WHERE user_lastaction > $lastaction
Dla zalogowanych kobiet WHERE user_lastaction > $lastaction AND sex = 'f'
Dla zalogowanych mężczyzn WHERE user_lastaction > $lastaction AND sex = 'm'
Czy mogę jakoś połączyć to w jedno zapytanie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
grzeee
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 5
Dołączył: 24.11.2006

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


Chyba nie ma sensu łączyć zapytań.
Wystarczy że dasz WHERE user_lastaction > $lastaction
A w php te wyniki podziel na odpowiednie dane z zalogowanymi, kobietami itp

Ten post edytował grzeee 27.12.2011, 14:59:23
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


  1. SELECT sex, count(sex) AS liczba FROM [twoja_tabela] WHERE user_lastaction > $lastaction GROUP BY sex ORDER BY sex ASC


Liczba zalogowanych: suma pól "liczba" tych dwóch rekordów
Liczba zal. kobiet: "liczba" dla sex='f'
Liczba zal. mężczyzn: "liczba" dla sex='m'

  1.  
  2. $result; // wynik mysql_query (przykładowo)
  3. $records = mysql_fetch_assoc($result);
  4. $zal_kobiet = $records['liczba'];
  5. $records = mysql_fetch_assoc($result);
  6. $zal_mezcz = $records['liczba'];
  7. $zal_wszyscy = $zal_kobiet + $zal_mezcz;
  8.  


i tyle (IMG:style_emoticons/default/wink.gif) - oczywiście trzeba jeszcze sprawdzać czy są rekordy i czy mają odpowiednio sex = f/m (IMG:style_emoticons/default/wink.gif)
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: 21.12.2025 - 18:03