Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Grupowanie wyników
Forum PHP.pl > Forum > Przedszkole
adam882
Witam

Czy mając taką strukturę bazy mysql tagów:

ID|TAG
1 kot
2 kot
3 pies
4 zajac
5 zajac
6 zajac
7 lis
8 lis

można za pomocą mysql_query() pogrupować i wyświetlić wyniki w formacie: kot (2), pies(1), zajac(3), lis(2) ?

Czy może lepiej zastosować tabelę ID|TAG|ILE , lecz w przypadku dodawania wielu tagów, najpierw będą musiały być wyszukiwane w bazie, a potem nadpisywane kolumny ILE i wydaje mi się, że tego typu rozwiązanie może w przypadku dodawania sporej ilości tagów - mocno obciążyć serwer
wookieb
Robisz to zapytaniem
  1. SELECT tag, (SELECT count(*) FROM tabela WHERE tag=a.tag) AS ile FROM tabela AS a
blooregard
  1. SELECT COUNT(ID), TAG FROM zwierzaki GROUP BY TAG;


A wyświetlasz:
  1. <?php
  2. echo $row['TAG'] . "( " .$row['COUNT(ID)'] . " ) ";
  3. ?>
Wicepsik
  1. SELECT count( `id` ) AS `count` , `tag` FROM `zwierzaki` GROUP BY `tag`
adam882
dzięki, a czy te rozwiązanie ID|TAG (mam jeszcze do tego tabelę IDTAG|IDNEWS) jest dobre? Czy może te, które napisałem w moim poście u góry odnośnie ID|TAG|ILE ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.