Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacje miedzy tabelami
Forum PHP.pl > Forum > Bazy danych > MySQL
yalus
Witam,

Stworzylem stronke cos ala mini forum, na jej potrzeby musialem zaprojektowac baze skladajaca sie z kilku tabel i odpowiednio powiazac je relacjami
udalo sie jakos to zrobic i wszystko dziala poprawnie (testowalem na malej ilosci danych)

jak to funkcjonuje:
na stronie kazdy zalogowany uzytkownik moze zamiescic jakies ogloszenie ktore pozniej moze byc komentowane przez innych uzytkownikow

ogloszenie zapisuje sie do tabeli: ogloszenie, w tabeli category znajduja sie wszystki kategorie w ktorych mozna umieszczac ogloszenia a w tabeli subcategory znajduja sie podkategorie w danej kategorii.

wszystko dziala poprawnie mozna zapisywac, odczytywac, komentowac i wszystko jest na swoim miejscu

oto kawalek skryptu ktorym wydobywam ogloszenia z bazy:

  1. <?php
  2. $zapytanie='SELECT * FROM ogloszenie,category,subcategory,user WHERE
  3. ogloszenie.id_user=user.id_u and
  4. ogloszenie.id_sub=subcategory.id_sub and
  5. ogloszenie.id_cat=category.id_cat'
  6.  
  7.  $result = mysql_query($zapytanie);
  8.  
  9.  while ($row = mysql_fetch_assoc($result))
  10.  {
  11.  //tutaj wydobywam komentarze do kazdego ogloszenia
  12.  $zapytaniey="Select count(id_c) as numrows from comments where id_notrecommended=".$row['id_n'];
  13.  $result_total = mysql_query($zapytaniey);
  14.  $ilosc = mysql_fetch_array($result_total, MYSQL_ASSOC);
  15.  $ilosc_commens = $ilosc['numrows'];
  16.  
  17.  --tutaj wyswietlenie ogloszenia
  18.  
  19.  }
  20. ?>


ale mnie ciagle nurtuje pytanie: czy dobrze zaprojektowalem relacje miedzy tabelami i czy wszystko jest ok

tutaj znajduja sie obrazek jak wygladaja moje relacje: http://g-it-s.net/relacje.jpg


czy moglby ktos rzucic okiem na to i skomentowac moje rozwiazanie, bardzo prosze


z gory dziekuje
ddiceman
Inaczej rozwaizalbym drzewo kategorii - podkategorii:

Kod
TABLE category:
category_id         <--- int, primary key, not null, auto increment
category_parent_id  <--- int: parent_id = 0 -> kategoria; parent_id <> 0 -> podkategoria kategorii o category_id = parent_id
category_name       <--- varchar/char etc., nazwa
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.