Diskuze: Zoskupenie a spracovanie dat z MySQL databaze.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 8 zpráv z 8.
//= 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.
Tak som vytvoril takuto funkciu:
$numb_rows_de = mysqli_query($conn, 'SELECT COUNT(*) FROM members WHERE country = "Deutschland"');
$numb_row_de = mysqli_fetch_array($numb_rows_de);
$row_de = $numb_row_de[0];
a pre kazdu krajinu je nutne vytvorit takuto sekciu....
Ma niekto jednoduchsi napad?
Můžeš zkusit něco takového Řešení ale není moc dobré - přidání státu znamená přidat další prvek pole. Lepší by bylo do tabulky members vkládat rovnou tu zkratku státu nebo ideálně mít novou tabulku "státy" a v tabulce members by byla pouze id z této tabulky
$states = array(
'Deutschland' => 'de',
'Czech republic' => 'cz'
);
$query = mysqli_query($conn, "SELECT COUNT(*) as `count`, `country` FROM `members` GROUP BY `country`");
foreach (mysqli_fetch_array($query) as $item) {
${'row_'.$states[$item['country']]} = $item['count'];
}
Ano... to pole mam, v tom nie je problem....
Ide o to, ze pri kazdom novom clenovi s dalsim statom, musim pridat dalsiu
sekciu...
Momentalne mam clenov zo 17 krajin, takze mam 17 prikazov "$numb_rows_XX"
Otazka je ci sa to da spravit jednoduchsie.
Skusam ten tvoj zdrojak, ale vo vysledku som dostal par chybovych riadkov:
Warning: Illegal string offset 'country' in.....
Notice: Undefined offset: 3 in....
Warning: Illegal string offset 'count' in....
Notice: Undefined index: � in
atd...
je tych riadkov celkovo 12 a vsetky ukazuju na chybu v tomto riadku:
${'row_'.$states[$item['country']]} = $item['count'];
Když dáš v cyklu
var_dump($item);
co ti to vypíše?
Tak toto je pre mna spanielska dedina....
Vies mi to prosim napisat, ako to mam modifikovat?
Zobrazeno 8 zpráv z 8.