Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/MySQL] Tagi - jakie adresy?
dkruczek
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 12.07.2006

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


Witam!
Myślę własnie nad systemem tagów dla tworzonego serwisu i pewna kwestia jest dla mnie problematyczna, mianowicie - zastanawiam się w jaki sposób zrealizować przeglądanie tagów. Cho dzi mi sytuację, w której mam w bazie danych tabelę z plikami (w tym wypadku), drugą tabelę, w której do każdego pliku są przypisane odpowiednie tagi. Na podstawie tego generowana jest chmura tagów i po kliknięciu na każdy tag mozemy przeglądać pliki nim opisane. Pytanie powstaje w jaki sposób rozwiązać kwestię identyfikacji taga. Mogę dać w adres poprostu nazwę taga, ale wtedy powstaje problem polskich znaków. Mogę ten problem rozwiązać przechowując w bazie danych wersję taga bez nich, ale wtedy może nastąpić kolizja nazw w momencie gdy będę np. tagi "liść" i "lisc", gdyż zostaną potraktowane jako jeden i ten sam tag. Może ktoś podpowie jakieś dobre rozwiązanie? smile.gif
Go to the top of the page
+Quote Post
Blame
post
Post #2





Grupa: Zarejestrowani
Postów: 678
Pomógł: 124
Dołączył: 26.09.2009

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


Do identyfikacji każdego rekordu w bazie danych powinno służyć pole id z auto_increment. Wtedy podczas wyświetlania tagów, do każdego przypisujesz jego id w adresie, czyli np. tagi.php?id=id_taga gdzie tagi.php odbiera za pomocą GET'a to id i wyświetla wszystkie pliki z nim związane. Chyba dobrze zrozumiałem twoje pytanie, jak nie to wyjaśnij dokładniej o co ci chodzi winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
altruista2
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 32
Dołączył: 8.02.2010

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


Cytat
Mogę dać w adres poprostu nazwę taga, ale wtedy powstaje problem polskich znaków.


Jaki problem?!

Linki:
  1. echo '<a href="?tag='.urlencode('ąęćżłśń').'">';


Odczyt GET:
  1. $tag = urldecode($_GET['tag']);


Jeśli masz starą wersję PHP to możesz zrobić sobie funkcje:
  1.  
  2. function koduj($str) {
  3. return url_encode(str_replace(Array('ą','ę','ć','ł','ń','ś','ż','ź','ó'),Array('%B9','%EA','%E6','%B3','%F1','%9C','%BF','%9F','%F3'), strtolower($str)));
  4. }
  5.  
  6. function dekoduj($str) {
  7. return url_decode(str_replace(Array('%B9','%EA','%E6','%B3','%F1','%9C','%BF','%9F','%F3'), Array('ą','ę','ć','ł','ń','ś','ż','ź','ó'), strtolower($str)));
  8. }
  9.  


--------------------
Jeśli Ci pomogłem kliknij pomógł. W ten sposób temat zaświeci się na żółto i użytkownicy którzy pomagają nie będą musieli niepotrzebnie klikać. Dziękuję.

"Pomaganie"
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 Aktualny czas: 21.08.2025 - 04:16