![]() |
|
|||||||||
|
|||||||||
|
| Attention Visitor: |
| You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
||||||
| PHP DB Discutii despre lucrul cu baze de date in PHP. |
![]() |
|
|
Thread Tools | Moduri de afișare |
|
|
#1 |
|
32-Bit Member
Data înregistrării: 06.02.2007
Mesaje: 131
Rep Power: 6 ![]() |
Acum lucrez si eu la un proiect mai complex si m-am lovit de o problema.
Deci am mai multe tabele relationate unul la mai multe. astfel: Pe scurt, fiecare user are posibilitatea sa selecteze mai multe orase de interes. De aceea am folosit o tabela auxiliara care face legaturile intre useri si orase. Fiecare user mai are si posibilitatea sa selecteze mai multe domenii de interes, etc, etc Users ------ user_id nume prenume Users_Orase: ------------ user_id oras_id Users_Domenii ------------- user_id domeniu_id Orase ------ oras_id oras Domenii -------- domeniu_id domeniu Ceea ce nu reusesc este cum fac sa selectez doar userii care au ales un anumit oras si un anumit domeniu. Sper ca ati inteles ce vreau sa spun.
__________________
www.freefun.lx. pr-4 www.jocuribarbie.lx.ro pr-4 www.jocuribarbie.ilive.ro pr-3 Link exchange cu cine are peste 200 unici/zi! id: videocars Last edited by etrans; 07.12.2007 at 14:57:12. |
|
|
|
| Sponsored Links |
|
|
#2 |
|
64-Bit member
|
se foloseste operatia JOIN cam in felul urmator
Cod:
SELECT *
FROM `Users`
LEFT JOIN `Users_Orase` ON `Users`.`user_id`=`Users_Orase`.`user_id`
LEFT JOIN `Orase` ON `Orase`.`oras_id`=`Users_Orase`.`oras_id`
WHERE
`Orase`.`oras`='nume_oras_aici'
Cod:
SELECTEAZA TOT
DIN TABELA users
lipsete la rezultate si coloanele din tabela Users_Orase pentru care coloana user_id din cele doua co incide
lipsete la rezultate si coloanele din tabela Orase pentru care coloana oras_id din Orase si Users_Orase co incide
(selecteaza...) DOAR RANDURILE CARE AU COLANA oras='ceva'
operatiile JOIN se invata prin experimentare, mie unuia(si am inteles ca la marea majoritate) la inceput mi-au fost "imposibile" JOIN-urile... nu le pricepeam si cu asta basta, dar apoi fara sa observ am inceput sa le folosesc in mod natural. pur si simplu trebuie sa te joci cu diverse interogari sa vezi ce returneaza.. debug and so on... succes
|
|
|
|
|
|
#3 |
|
32-Bit Member
Data înregistrării: 06.02.2007
Mesaje: 131
Rep Power: 6 ![]() |
da, citisem si eu intr-o carte de sql despre join intre 2 tabele.
Dar cand sunt trei tabele (users, users_orase si users_domenii) e belea mare. In carte nici macar nu am gasit sa se pomeneasca de asa ceva. Imi popate prezenta cineva cum se face? BETng4U iti multumesc, o sa citesc si linkul dat de tine.
__________________
www.freefun.lx. pr-4 www.jocuribarbie.lx.ro pr-4 www.jocuribarbie.ilive.ro pr-3 Link exchange cu cine are peste 200 unici/zi! id: videocars |
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Moduri de afișare | |
|
|