Autor Zpráva
Lum
Profil *
Zdravím,

mám menší problém s tím, jak vytvořit příkaz, aby vše správně fungovalo.
Poradí mi někdo? :)

Mám databázi, kde se nachází dvě tabulky (zastavky,linky)

není problém nechat vyspat veškeré informace z tabulky zastávky. Tabulka obsahuje jen dané názvy.

Takže udělám

  $vysledek=mysql_query("select * from zastavky");
  while ($zaznam=MySQL_Fetch_Array($vysledek)

Druhá tabulka obsahuje seznam linek a ke každé lince zastávky, které projíždí.

Já potřebuju do seznamu zastávek napasovat příkaz, který u každé zastávky vypíše linky, které danou zastávkou projíždí.
Lze na to použít inner join, nebo je to třeba udělat jinak, případně jak?

Stokrát díky ;)
panther
Profil
Lum:
tabulky se musí joinovat, ano.

Tabulka obsahuje jen dané názvy.
ještě by měla obsahovat id zastávky, v druhé tabulce pak budeš mít něco jako:
linka | id_zastavky
1     |   1
1     |   5
1     |   38
1     |   2
...
2     |   2
Výhoda držet ID zastávky oproti uchovávání názvů je jasná: při přejmenování zastávek to bude jednodušší na údržbu.
Lum
Profil *
Ono je to krapet složitější. Je nutno uchovat pořadí zastávek, takže každá linka má v poli zastavky řetězec zastávek.

Např.
1 Tabulový vrch - Karafiátová - Jílová - ....

Zastávky samozřejmě id mají (ale v tomto to nehraje roli). Jde mi o to, jak to naroubovat, protože ať dělám, co dělám, tabulka mi nevypisuje žádnou hodnotu.
Tori
Profil
Lum:
nebo je to třeba udělat jinak, případně jak?
Nevhodně navržená DB, v jednom poli má být jen jeden údaj (= jedna zastávka), jinak se s tím nedá rozumně pracovat.

tabulka zastavky: ID, název
tabulka linky: ID, číslo linky, případně rozlišení tramvaj|trolejbus|zubačka|drožka...
spojovací tabulka zastavky_linek: ID zastávky, ID linky, pořadí zastávky na trase. Primární klíč přes oba sloupce ID zastávky+linky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0