Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 7.173 pregleda

Najnovija ↓

mySQL sa vise tabela... 03.11.2003. u 01:53 · pre 279 meseci #1
Ovo je delimično i PHP pitanjce ali...

Imam 5 različitih tabela(misli se na strukturu, naravno), svaka od tih tabela ima polje država i polje grad. Mene zanima kako mogu da sjedinim ta polja tabele i da svaku državu i grad napise jednom, bez obzira na ponavljanja...

Rezultat bi bio nešto nalik ovome:
Država 1
Grad 1
Grad 2
Grad 3
Država 2
Grad 5
Grad 35
...
Re: mySQL sa vise tabela... 03.11.2003. u 12:23 · pre 279 meseci #2
Ako sam shvatio ti trenutno imas sledecu situaciju:
Drzava 1 Grad 1
Drzava 1 Grad 2
Drzava 1 Grad 3

Drzava 2 Grad 5
Drzava 2 Grad 6
Drzava 2 Grad 7

A treba ti kao sto si ti napisao gore

Ako je taj slucaj. Problem ces resiti kako sto ces u while petlju ubaciti deo koda koji ce da prati dali se promenio string koji sadrzi naziv drzave.
Moraces da dodas promenljivu koja ce da sadrzi ime iz prethodnog prolaza kroz while petlju.
evo simbolickog primera:

$drzava_tmp="";
while($row=mysql_fetch_array($query_result)){
//Napocetku stavis
If($drzava_tmp!=$row["drzava"]){
echo $row["drzava"];
}


Ovde ostali kod, output gradove...



// Na kraju stavis
$drzava_tmp=$row["drzava"];

}

Ovo sam sad napamet napisao ali mislim da radi(nisam testirao)
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: mySQL sa vise tabela... 03.11.2003. u 22:07 · pre 279 meseci #3
U pravu si za:
Drzava 1 Grad 1
Drzava 1 Grad 2
Drzava 1 Grad 3
Drzava 2 Grad 5
Drzava 2 Grad 6
Drzava 2 Grad 7

Samo što ja imam i još jednu tabelu sa podacima
Drzava 1 Grad 2
Drzava 1 Grad 4(a npr. Grad 4 nemam u predhodnoj tabeli)
Drzava 1 Grad 4(Moguće je da je neko polje ponovljeno, ali u rezultatima treba da bude prikazano samo jednom)
Drzava 5 Grad 8
Re: mySQL sa vise tabela... 03.11.2003. u 23:03 · pre 279 meseci #4
vazi sve kako sam reko samo ces selektovati iz obe tabele podatke.
tipa: SELECT * from tbl1,tbl2...
ili
a ako postavis i uslov(primer za dve tabele)
... WHERE drzava.tbl1!=drzava.tbl2 AND grad.tbl1!=grad.tbl2
dobijas da ti moj gornji kod nije potreban jer ti upit sve zavrsava :) valjda
Potpis
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
Re: mySQL sa vise tabela... 04.11.2003. u 12:51 · pre 279 meseci #5
Lose postavljena sama baza :-(

Traba da imaju tri tabele za ovakav problem :
- tabela drzava
- tabela gradova
- tabela veze izmedju drzava i gradova

tabela drzava sadrzi : primarni kljuc (drzava_id) i ostale informacije o drzavi
tabela gradova sadrzi : primarni kljuc(grad_id) i ostale informacije o gradu
tabela veze sadrzi : (drzava_id) i (grad_id)

Sa sql select mozes lako dobiti ono sto ti treba u bilo kojoj kombinaciji.
Potpis
Nahrani prasiće ne diraj dugmiće !!!
Re: mySQL sa vise tabela... 05.11.2003. u 01:22 · pre 279 meseci #6
Citat:
tvucko:
Lose postavljena sama baza :-(

Traba da imaju tri tabele za ovakav problem :
- tabela drzava
- tabela gradova
- tabela veze izmedju drzava i gradova

tabela drzava sadrzi : primarni kljuc (drzava_id) i ostale informacije o drzavi
tabela gradova sadrzi : primarni kljuc(grad_id) i ostale informacije o gradu
tabela veze sadrzi : (drzava_id) i (grad_id)

Sa sql select mozes lako dobiti ono sto ti treba u bilo kojoj kombinaciji.



tabela drzava sadrzi : primarni kljuc (drzava_id) i ostale informacije o drzavi
tabela gradova sadrzi : primarni kljuc(grad_id) FK kljuc (drzava_id) i ostale informacije o gradu

Treca tabela ti uopste nije potrebna, jer nemas slucaj many to many veze.
Grad je obicno samo u jednoj drzavi, ali je zgodno ukljuciti kaskadni update, ukoliko dodje do promene naziva drzave (SCG umesto Yugoslavia).

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme