 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
nemo
Data înscrierii: 04/Mai/2004
Mesaje: 31
|
| Trimis: Mar Iul 13, 2004 8:33 pm Titlul subiectului: join-uri cu 6 tabele |
|
|
as dori sa stiu cum se comporta un join cu 6 tabele. am o tabela useri si inca 5 astfel: judet_table(judet_id, judet), oras_table(oras_id, oras)...
este cumva mai rapid daca fac astfel:
$result=mysql_query("SELECT * FROM useri WHERE user_id='$user_id'");
$row=mysql_fetch_array($result);
iar apoi
$result_judet=mysql_query("SELECT judet FROM judet_table WHERE judet_id='$row[judet]'"); apoi il afisez judetul
$result_oras=mysql_query("SELECT oras FROM oras_table WHERE oras_id='$row[oras]'"); apoi afisez orasul
....
unde bineinteles $row[oras], $row[judet] din tabela useri sunt nr. asociate fiecarui oras, judet..., sunt sigur ca am fost inteles
va multumesc |
|
| Sus |
|
Troto
Data înscrierii: 29/Iun/2004
Mesaje: 249
Locație: Brasov
|
| Trimis: Mie Iul 14, 2004 12:10 am Titlul subiectului: |
|
|
Ar trebui ca in tabelul cu useri sa ai o coloana cu ID-ul orasului si judetului de unde ewste userul.
Atunci poti pune conditiefara sa mai faci inca alte 2 query-uri |
|
| Sus |
|
Radical
Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti
|
| Trimis: Mie Iul 14, 2004 1:53 pm Titlul subiectului: |
|
|
Troto a scris: Ar trebui ca in tabelul cu useri sa ai o coloana cu ID-ul orasului si judetului de unde ewste userul.
Atunci poti pune conditiefara sa mai faci inca alte 2 query-uri
Sau mai bine... (si mai logic dupa mine) sa ai la useri o coloana cu ID-ul orasului si la orase o coloana cu ID-ul judetului...
Cod: SELECT * FROM useri
LEFT JOIN oras_table ON (useri.oras = oras_table.id)
LEFT JOIN judet_table ON (oras_table.judet = judet_table.id)
WHERE ....ce...vrei...tu... |
|
| Sus |
|
nemo
Data înscrierii: 04/Mai/2004
Mesaje: 31
|
| Trimis: Vin Iul 16, 2004 2:25 pm Titlul subiectului: revenire |
|
|
sigur ca am in tabela useri id-urile pt. oras, judet si celelalte 3 care mai sunt(zodie care are 12 cimpuri: 1 berbec, 2 taur..., studii cu vreo 5 cimpuri si mai era unu').
problema este ca daca as da mysql_query("SELECT * FROM useri WHERE user_id='$user_id'") si as afisa ce rezulta mi-ar da(un ex.):
user_id=30;
Judet: 5
oras: 28
zodie: 12
studii: 3
astfel ca trebuie sa iau cele 5 valori corespunzatoare userului curent, din useri, si sa le verific in tabelele respective(judet, oras..) pt. a vedea judet are id-ul 5 si sa il afisez(Arad), orasul cu 28 este bucuresti si il afisez, zodia 12 este pesti si o afisez.
sunt sigur ca toti folositi asa ceva, normalizarea fiind ceva ce se poate vedea foarte simplu dind un view source la toate site-urile care au baze de date cu tari, orase..., insa eu nu am vazut un ex. concret in php.
va multumesc. |
|
| Sus |
|
Radical
Data înscrierii: 16/Feb/2004
Mesaje: 327
Locație: Bucuresti
|
| Trimis: Vin Iul 16, 2004 4:19 pm Titlul subiectului: Re: revenire |
|
|
nemo a scris: sunt sigur ca toti folositi asa ceva, normalizarea fiind ceva ce se poate vedea foarte simplu dind un view source la toate site-urile care au baze de date cu tari, orase..., insa eu nu am vazut un ex. concret in php.
Da o fuga pana in Bucuresti... o vezi la mine... iti arat si cod... dar nu il pot scoate din firma decat pana cel mult la mine acasa...
[I hate ca nu completeaza oamenii tot profilul... sa vezi de unde (puii) este omul ala...] |
|
| Sus |
|
Troto
Data înscrierii: 29/Iun/2004
Mesaje: 249
Locație: Brasov
|
| Trimis: Sâm Iul 17, 2004 2:07 am Titlul subiectului: |
|
|
Selectezi din fiecare table ce ai nevoie
Adica nu ID-ul
Daca un user e din Bucuresti tu selectezi numele orasului din tabelul cu orase si pui conditia ca ID-ul din tabelul cu useri sa fie acelasi cu cel din tabelul cu orase
Si la fel la toate
Intre conditii sa ai "AND" |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|