![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam w bazie tabelę w takiej formie
Kod ID | tags w polu tags mam zapisane tagi, oddzielane przecinkiem. Czyli np. Kod pies,kot,mysz,pająk i jeżeli mam np. takie wpisy Kod 1 | mama,tata,ja,brat 2 | pies,kot,szczur,brat i chciał bym zrobić z tego tablicę w takim stylu. Kod tag = mama ile = 1 tag = tata ile = 1 ..... tag = brat ile = 2 Czyli wyświetlało dany tag tylko raz, a przy nim ilość dodań tego tagu. Zupełnie nie mam pomysłu jak to rozwiązać, ma ktoś może jakieś rady ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 108 Pomógł: 2 Dołączył: 9.05.2007 Skąd: INTERNET Ostrzeżenie: (0%) ![]() ![]() |
Piszę bez testowania więc mogę się minimalnie pomylić, ale powinno to wyglądać mniej więcj tak:
Kod $query='SELECT tags FROM tabela';
$result=mysql_query($query); while ($row=mysql_fetch_array($result){ $tags=explode(","; $row[tags]); for ($x=0; $x<=sizeof($tags); $x++){ $tagi[$tags]++; } } foreach ($tagi as $klucz => wartosc) { echo "$klucz => $wartosc <br />"; } Ten post edytował Tibod 11.05.2007, 15:58:50 -------------------- "There are only 10 types of people in the world: Those who understand binary, and those who don't"
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 5 Dołączył: 20.03.2007 Skąd: Kraków Ostrzeżenie: (30%) ![]() ![]() |
mysle ze powinno byc tak:
Kod $query='SELECT tags FROM tabela'; $result=mysql_query($query); while ($row=mysql_fetch_array($result){ $tags=explode(",", $row['tags']); for ($x=0; $x<=sizeof($tags); $x++){ $tagi[$tags[$x]]++; } } foreach ($tagi as $klucz => wartosc) { echo "$klucz => $wartosc <br />"; } ale bedzie to wolne, poniewaz musisz pobrac calą zawartość tabeli z mysql Ten post edytował domis86 11.05.2007, 17:43:21 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
nie wiem co chcesz z tym zrobic ale trzymanie tagow w tabeli z danym rekordem jest "malo" wydajne (delikatnie mowiac).
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Jak pisal normanos: masz zla strukture tabeli. twoj obiekt, powiedzmy Cos, ma wiele Tagow i jeden Tag moze nalezec do wielu Cos'ow, czyli najprostsza relacja wiele do wielu.
Dwie tabele Tagi, Cosie i tabela zlaczeniowa PosiadanieTagow( tag_id, cos_id) i jednym zapytaniem SQL wyciagniesz ilosc kazdego z tagow. -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 662 Pomógł: 45 Dołączył: 26.03.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to żeby każdy tag miał oddzielny wpis w tabeli tagi czy o to żeby na tagi była osobna tabela,ale tagi oddzielane przecinkami ?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 5 Dołączył: 20.03.2007 Skąd: Kraków Ostrzeżenie: (30%) ![]() ![]() |
po pierwsze:
dowiedz sie co to relacja "wiele do wielu" i jak sie ją implementuje ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 11:30 |