Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Chmura tagów
artekp999
post 12.02.2012, 14:14:16
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


Piszę chmurę tagów i napotkał mnie pewien problem. Otóż mam taki kod wypisuje on wszystkie moje tagi z bazy, jak mam zrobić aby dany tag który się powtarza wypisał się tylko jeden raz.

  1. $zapytanie = "SELECT tagi FROM artykuly";
  2. if ($r = mysql_query ($zapytanie)) {
  3.  
  4. while ($record = mysql_fetch_array($r)) {
  5. $tagi = $record['tagi'];
  6. $tab = explode(",", $tagi);
  7. $n = count($tab);
  8.  
  9. for ($i=0;$i<$n; $i++) {
  10.  
  11. echo ''.$tab[$i].' ';
  12.  
  13. }
  14.  
  15. }
  16. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Kshyhoo
post 12.02.2012, 14:18:28
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Przykład:
  1. CREATE TEMPORARY TABLE tmp SELECT DISTINCT * FROM duplikaty;
  2. TRUNCATE TABLE duplikaty;
  3. INSERT INTO duplikaty SELECT * FROM tmp;
  4. DROP TABLE tmp;

  1. linia/polecenie tworzy tymczasową tabelę o nazwie tmp, do której trafia niezduplikowana zawartość naszej tabeli z duplikatami. Duplikaty eliminuje polecenie DISTINCT.
  2. linia czyści zawartość tabeli, która przechowuje duplikaty.
  3. linia wstawia do wyczyszczonej tabeli z byłymi duplikatami zawartość tabeli tymczasowej, gdzie duplikatów już nie ma.
  4. linia usuwa tabelę tymczasową. Gotowe!


--------------------
Go to the top of the page
+Quote Post
kefirek
post 12.02.2012, 14:26:08
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. <?php
  2. $zapytanie = "SELECT tagi FROM artykuly";
  3. if ($r = mysql_query ($zapytanie)) {
  4.  
  5. while ($record = mysql_fetch_array($r)) {
  6. $tagi = $record['tagi'];
  7. $tab = explode(",", $tagi);
  8.  
  9. $tab = array_unique($tab);
  10.  
  11. $n = count($tab);
  12.  
  13. for ($i=0;$i<$n; $i++) {
  14.  
  15. echo ''.$tab[$i].' ';
  16.  
  17. }
  18.  
  19. }
  20. }
  21. ?>
Go to the top of the page
+Quote Post
artekp999
post 12.02.2012, 14:36:10
Post #4





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


kefirek twój sposób nie działa przykład
Youtube Internet Hacking Internet Facebook Internet Internet Grafika Online Programy HTML5 Internet Test Internet Drukarka Google Bezpieczeństwo Internet Youtube Wi-Fi luka Internet Pascal program Pascal program c++ program kalkulator Komputer Windows tryb Google Internet Pascal program kalkulator Windows luka Internet atak Pascal program lokata Google Internet Przeglądarki Chrome Firefox MSIE Opera Safari Strona Interet Przeglądarka Sprzęt elektronika Internet Hasło Chrome Firefox IE Internet Przeglądarki Chrome Windows Pascal program Internet Windows Windows Chrome Internet Grafika Ikony Dysk twardy USB Hasło tutorial Dysk twardy

a twój Kshyhoo jeszcze nie testowałem
Go to the top of the page
+Quote Post
kefirek
post 12.02.2012, 15:07:56
Post #5





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Tak powinno działać
  1. <?php
  2. $zapytanie = "SELECT tagi FROM artykuly";
  3. if ($r = mysql_query ($zapytanie)) {
  4.  
  5. $tags = array();
  6.  
  7. while ($record = mysql_fetch_array($r)) {
  8. $tagi = $record['tagi'];
  9.  
  10.  
  11. $tab = explode(",", $tagi);
  12.  
  13. $n = count($tab);
  14.  
  15. for ($i=0;$i<$n; $i++) {
  16.  
  17. if (!in_array($tab[$i], $tags)) {
  18.  
  19. $tags[]= $tab[$i];
  20. echo ''.$tab[$i].' ';
  21.  
  22. }
  23.  
  24. }
  25.  
  26. }
  27. }
  28. ?>
Go to the top of the page
+Quote Post
artekp999
post 12.02.2012, 15:34:41
Post #6





Grupa: Zarejestrowani
Postów: 118
Pomógł: 2
Dołączył: 25.02.2011

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


Wielkie dzięki działa!!


Ten post edytował artekp999 12.02.2012, 15:42:55
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:44