Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Wybieranie danych z tablicy i liczenie ile razy się powtórzyły, Tak znowu głupawy problem xd
-Stypula-
post
Post #1





Goście







Więc mam w bazie danych kolumnę "tagi" w której mam dane w formacie "tag1, tag2, tag3, (...)" i chcę żeby mi się wyświetlało 5 słów które się najczęściej powtarzają (ze wszystkich rekordów pobranych z pola "tagi").
Jeśli mnie nadal nie rozumiecie to podam przykład:
Mam pewną tabelę w której mam pola id i tagi. Rekordy wyglądają tak:
  1. <?php
  2. 1 | rock, punk, the offspring, americana
  3. 2 | rock, coldplay, death and all his friends
  4. 3 | a perfect circle, the noose
  5. 4 | green day, rock, american idiot
  6. ?>

Pobieram tagi za pomocą:
  1. mysql_query("select tagi as tagi from tabela")
następnie robię z tego tablicę za pomocą explode (usuwam przecinki):
  1. <?php
  2. $tagi=explode(", ", $tagi);
  3. ?>
. I teraz z powstałej tablicy "$tagi" chcę wyciągnąć wszystkie rekordy i policzyć ile razy się który powtarza a następnie wyświetlić pięć które użyte zostały najczęściej i wyświetlić je. Kolejność nie ma znaczenia (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) .
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Napsiałem sobie to i nawet nei jest trudne ;p Ale napsize Tobie jak to powinno wyglądać a napewno sobie poradzisz ;]

1. Pobierając z bazy tagi zapisujesz je do 1 stringu (każda nazwa zespołu po przecinku)
2. Tworzysz tablice poprzez explode na ten string
3. robisz na niej array_unique
4. następnie funkcją foreach lecisz po tej tablicy i szukasz ilości wystąpień wartości w stringu i zapisujesz do tablicy nazwa zespołu jako klucz ilość wystąpień jako wartość przyda ci się tutaj : substr_count
5. na koniec arsort na tablicy i pierwsze 5 wierszy to jest to czego szukasz ;p

Mam nadzieje że nei masz za złe że nei dałem gotowego kodu ;p Ale dzieki temu się czegoś nauczysz ... może i jest jakieś łatwiejsze rozwiązanie - to z chęcią się dowiem jakby wygladało (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)

Ten post edytował melkorm 16.11.2008, 15:20:40
Go to the top of the page
+Quote Post

Posty w temacie


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: 29.12.2025 - 12:24