Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Grupowanie wyników
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował adam882 19.06.2009, 20:05:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Robisz to zapytaniem
  1. SELECT tag, (SELECT count(*) FROM tabela WHERE tag=a.tag) AS ile FROM tabela AS a
Go to the top of the page
+Quote Post
blooregard
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. SELECT COUNT(ID), TAG FROM zwierzaki GROUP BY TAG;


A wyświetlasz:
  1. <?php
  2. echo $row['TAG'] . "( " .$row['COUNT(ID)'] . " ) ";
  3. ?>
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. SELECT count( `id` ) AS `count` , `tag` FROM `zwierzaki` GROUP BY `tag`


Ten post edytował Wicepsik 19.06.2009, 20:08:02
Go to the top of the page
+Quote Post
adam882
post
Post #5





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:18