Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Tagi - struktura bazy danych i pobieranie kilku wartości
arek33
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 24.02.2009

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


Witam ponownie,
Przeczesałem wczoraj połowę internetu, ale problem nadal jest na podobnym poziomie na jakim był przed rozpoczęciem poszukiwań. Sprawa dotyczy się systemu dodawania newsów i słów kluczowych (tagów).

Struktura bazy wyglądać będzie następująco(?):

news:
- id_news
- tytul
- tresc
- data
- autor
- id_tags (?)

tagi:
- id_tags
- tag

tagi_news
- id_tags (int?)
- id_news

Proszę o kompetentną osobę czy powyższa struktura jest prawidłowa czy może warto coś dodać/zmienić?

Przykład wyświetlania artykułu (news):
Tytuł: Nowy wpis
Treść: Lorem ipsum...
Data: Dzisiaj o 19:11
Autor: Admin
Tagi: nowy wpis, lorem ipsum, lorem

Jak widać w powyższym przykładzie chcę użyć 3+ słów kluczowych, niemniej jednak nie wiem jak się za to zabrać.

Ad1. Przede wszystkim zależy mi na opinii czy struktura bazy danych jest odpowiednia?
Ad2. Mając przypisane:

id_tags = 1
tag = nowy wpis

id_tags = 2
tag = lorem ipsum

id_tags = 3
tag = lorem

Jak wpisać wszystkie 3 do id_tags z tabeli news? Rozumiem, że relacja zachodząca pomiędzy tabelami to jeden do wielu, niemniej jednak nadal nie mam odpowiednich wskazówek do satysfakcjonującego mnie rozwiązania. Z góry dziękuję za pomoc, linki do artykułów, które będą mi w stanie pomóc oraz pozostałe cenne wskazówki.

Arek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arek33
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 24.02.2009

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


Dzięki Panowie za pomoc! Rozwiązałem to nieco inaczej, ale te dwie riposty nakierowały mnie odpowiednio - jestem zadowolony z rezultatu. Ostatnie chyba pytanie mam - jaką funkcją w PHP dobiorę się do ostatniego wyniku pobranego z bazy danych za pośrednictwem pętli while? Wyrzucam moje tagi: 123, abc, zxc, cxz, itp.

  1. echo "".$r['id_newsa'].", ";


I jak wiadomo wynik mój będzie wyglądał następująco: tag1, tag2, tag3, [przecinek na końcu], w jaki sposób mogę się go pozbyć?

Cytat(arek33 @ 18.04.2011, 00:15:49 ) *
Dzięki Panowie za pomoc! Rozwiązałem to nieco inaczej, ale te dwie riposty nakierowały mnie odpowiednio - jestem zadowolony z rezultatu. Ostatnie chyba pytanie mam - jaką funkcją w PHP dobiorę się do ostatniego wyniku pobranego z bazy danych za pośrednictwem pętli while? Wyrzucam moje tagi: 123, abc, zxc, cxz, itp.

  1. echo "".$r['id_newsa'].", ";


I jak wiadomo wynik mój będzie wyglądał następująco: tag1, tag2, tag3, [przecinek na końcu], w jaki sposób mogę się go pozbyć?

Gdyby kogoś to interesowało to rozwiązałem to w następujący sposób:

  1. if($mnr <= $r['id_newsa']){
  2.  
  3. echo "".$r['id_newsa']."";
  4. }
  5. else{
  6.  
  7. echo "".$r['id_newsa'].", ";
  8.  
  9. }
  10. // gdzie $mnr = mysql_num_rows($wynik)
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: 8.10.2025 - 18:53