[ Ivan Golubović @ 03.11.2003. 00:53 ] @
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
...
[ arsa xx @ 03.11.2003. 11:23 ] @
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)
[ Ivan Golubović @ 03.11.2003. 21:07 ] @
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
[ arsa xx @ 03.11.2003. 22:03 ] @
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
[ tvucko @ 04.11.2003. 11:51 ] @
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.
[ drbogi @ 05.11.2003. 00:22 ] @
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).