Diskuze: Zpracovani Mysql do pole
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
SQL má na to fígly:
SELECT *, COUNT(*) AS `pocet_ulic` FROM tabulka_ulice WHERE podminka=neco GROUP BY sloupec_nazv_ulice;
Přidáním GROUP BY se řádky shluknou podle ulic a pomocí COUNT(*) AS
pocet_ulic
přidáš sloupec s počtem těchto shluknutých
ulic...
Jeste to poradne upresnim. Vyhledavam dle jmena a prijmeni, kde vysledek vraci shodu dle techto kriterii. Napr. Jan Novak je v databazi obsazen celkem 10x (takze 10 radku, ktere obsahuji jmeno, prijmeni, ulice) a v polozce ulice ma celkem 7x vodickova, 2x dlouha, 1x celetna, Petr Cerny je v databazi 2x a ma prazskou ulici 2x. SQL dotaz je
$sql=Db::queryAll("SELECT * FROM zaznamy WHERE prijmeni LIKE '$dotaz_prijmeni' AND jmeno LIKE '$dotaz_jmeno'")
;
Vysledek dotazu je vzdycky jiny. Cyklus foreach mi vypise radek po radku, ale ja
bych potreboval, abych hodnoty mel v poli nasledovne:
vodickova - 7
dlouha - 2
celetna - 1
Dopredu nevim, kdo ma v databazi kolik a jakych ulic ulozenych. Do pole bych
chtel ulozit kazdou ulici, ktera jeste v poli neni, a pokud uz tam je, pricte se
1. Jen nevim, jak to sestavit
$sql=Db::queryAll("SELECT ulice, COUNT(*) AS `pocet` FROM zaznamy WHERE prijmeni LIKE '$dotaz_prijmeni' AND jmeno LIKE '$dotaz_jmeno' GROUP BY ulice");
ulice si nahraď sloupcem ve své tabulce. Mělo by to
vrátit dvousloupcovou tabulku, kde v jednom sloupci je název ulice a ve
druhém počet výskytů.
Zobrazeno 5 zpráv z 5.