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 prefix $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 🙂