Zbieram pewne dane, które zapisywane są później do bay danych. Dane w tabeli powtarzają się, są to po prostu marki laptopów. W pewnym momencie chciałem sobie zrobić panel ze statystykami, w którym mógłbym wyświetlić np. tabelę z kolumnami w postaci :
|-------------|
|Brand | Ilosc|
|------|------|
|Asus | 5 |
|Lenovo| 8 |
|HP | 4 |
|-------------|
Czyli - w moich statystykach w kolumnie Brand wartości nie powinny się powtarzać. Mają się wypisać wszystkie unikalne wartości, a w kolumnie Ilosc mają być zliczone ich wystąpienia.
W związku z tym, że dane wykorzystywane są we wtyczce do Wordpressa kod będzie wyglądał mniej więcej tak :
global $wpdb;
$table_name = $wpdb->prefix . 'xxx'; // tables prefixrn $all_brands = $wpdb->get_results("SELECT brand, COUNT(brand) AS liczba FROM $table_name GROUP BY brand");
Tutaj połączyłem się do bazy i utworzyłem zapytanie.
<table class="my_class">
<thead>
<tr>
<th>Marka</th> <th>Ilosc</th>
</tr>
</thead>
<tbody>
<?php
foreach ($all_brands as $value):
echo '<tr><td>'.$value->brand.'</td><td>'.$value->liczba.'</td></tr>';
endforeach;
?>
</tbody>
</table>
Następnie utworzyłem tabelę, i za pomocą pętli foreach wyciągnąłem interesujące mnie dane.
Efektem tego działania jest…
No i o to chodziło :)
Komentarze