Autor | Zpráva | ||
---|---|---|---|
Easygoer Profil |
Mám tabulku upominky. Každá upomínka má ve sloupci "priorita" hodnotu 1, 2 nebo 3. Potřebuji nějakým nejjednodušším způsobem zjistit, kolik upomínek má hodnotu 1, 2 a 3. Musím zadat 3 dotazy typu: $vysledek1 = $pripojenidb->query("SELECT COUNT(*) FROM upominky WHERE priorita = 1"); Nebo to jde nějak jednodušeji? Třeba s pomocí proměnných. Nebo použít multi_query? SELECT COUNT(*) FROM upominky WHERE priorita = 1 OR priorita = 2 OR priorita = 3 GROUP BY priorita Ještě lepší je: SELECT COUNT(*) AS celkem FROM upominky WHERE priorita = 1 OR priorita = 2 OR priorita = 3 GROUP BY priorita V MySQL dostanu sloupec celkem se 3 řádky. Není mi ale jasné, jak ty hodnoty dostanu do proměnných v PHP. Poradíte? Tohle nefunguje: $CelkemRadku = Array(); $i = 0; while($priorita = $vysledek1->fetch_assoc()) { $CelkemRadku[$i] = $priorita[$i]; $i++; } |
||
Easygoer Profil |
#2 · Zasláno: 3. 10. 2024, 01:07:26
Vlastně je to jednoduché:
$CelkemRadku = Array(); $i = 0; while($zaznam = $vysledek1->fetch_assoc()) { $CelkemRadku[$i] = $zaznam['celkem']; $i++; } echo Join($CelkemRadku, ", "); |
||
Kcko Profil |
Ano, uložíš to třeba do pole.
Ale ta konvence českých proměnných a ještě s velkým písmenem na začátku, kde jsi to viděl? Nedá se to číst. Jinak místo Array je starý konstrukt => [] |
||
Easygoer Profil |
#4 · Zasláno: 3. 10. 2024, 14:09:49
Kcko:
OK. Díky. |
||
Kajman Profil |
#5 · Zasláno: 3. 10. 2024, 14:45:22
Jistější bude vracet i sloupec s priritou, aby se ten součet dobře svázal.
SELECT priorita, COUNT(*) AS celkem FROM upominky GROUP BY priorita Bez určení pořadí si db může vrátit řádky dle libosti. Navíc, pokud tam bude jen jeden typ priority, tak se vám sice vrátí jeden součet jako jediný řádek, ale v původním dotaze nepoznáte, ke které prioritě ten součet patří. |
||
Časová prodleva: 1 rok
|
0