adam882
19.06.2009, 20:01:14
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
19.06.2009, 20:05:36
Robisz to zapytaniem
SELECT tag, (SELECT count(*) FROM tabela WHERE tag=a.tag) AS ile FROM tabela AS a
blooregard
19.06.2009, 20:06:17
SELECT COUNT(ID), TAG FROM zwierzaki GROUP BY TAG;
A wyświetlasz:
<?php
echo $row['TAG'] . "( " .$row['COUNT(ID)'] . " ) "; ?>
Wicepsik
19.06.2009, 20:06:29
SELECT count( `id` ) AS `count` , `tag` FROM `zwierzaki` GROUP BY `tag`
adam882
19.06.2009, 20:08:14
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 ?