max_mcee
10.10.2011, 18:27:29
Witam
Mam w bazie następujące dane:
user_id | user_name | service |
I na przykład wypełnię ją tak:
1001 | xxx | DESKA |
1001 | xxx | KABEL |
1001 | xxx | PRALKA |
1002 | yyy | DESKA |
1002 | yyy | DESKA |
1003 | zzz | DESKA |
Jak można zliczyć tak, rekordy żeby wyświetlić dane:
xxx posiada 3 elementy,
yyy posiada 2 elementy,
zzz posiada 1 element
Dzięki za pomoc.
CuteOne
10.10.2011, 18:36:00
poczytaj o GROUP BY i COUNT
max_mcee
10.10.2011, 18:46:46
No ale do tego potrzebna by była jakaś pętla ...
I nie wiem jak by to ugryźć
nospor
10.10.2011, 18:52:29
Do group by oraz count nie jest potrzebna zadna pętla. Zainteresuj się więc tym jak ci poradzono.
Zaś by odczytać rekordy z bazy a i owszem, pętla jest potrzebna, ale to ona jest potrzebna niezależnie od tego czy używac group by czy nie. To wyjaśnia pierwszy lepszy kurs php+mysql dostępny za free w necie o manualu już nie wpspominając - mysql_fetch_array() - patrz manual.
max_mcee
10.10.2011, 19:41:55
Już znalazłem sposób:
$sql = "SELECT user_name, COUNT(service) FROM report GROUP BY user_name";
dzięki
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.