PHP Koppel tabel
Ik had een vraag hoe ik uit meerdere tabellen kan selecteren en die uitlezen.
Voorbeeld:
Ik heb nu in me database 3 tabellen:
1. gebruikers
- idgebruiker
- de rest van de gegevens
2. naamcon
- idnaamcon
- idgebruiker
- idnaam
3. naam
- idnaam
- namen
Nu wil ik dat als je een gebruiker selecteert dat die dan kijkt in de "naamcon" tabel. Vervolgens in die tabel naar het "idgebruiker" die gekoppeld is aan "idnaam" en dan de bijbehorende naam er bij pakt en laat zien.
Hoop dat jullie mijn uitleg kunnen volgen.
Groet,
Kees
http://dev.mysql.com/doc/refman/5.0/en/join.html
Als het een 1:* relatie is zal ik adviseren om eerst door alle resultaten van 1 te loopen en binnen de loop een query doen om alle resultaten van 2 op te halen (where idgebruiker = $loopResult['idgebruiker'])
Dit kan je doen met mysql join indien het hier gaat om een 1:1 relatie: Als het een 1:* relatie is zal ik adviseren om eerst door alle resultaten van 1 te loopen en binnen de loop een query doen om alle resultaten van 2 op te halen (where idgebruiker = $loopResult['idgebruiker'])
Hoe bedoel je dit precies? van welke moet ik dan een loop maken?
Jaron T op 07/12/2011 10:26:51:
Dit kan je doen met mysql join indien het hier gaat om een 1:1 relatie: http://dev.mysql.com/doc/refman/5.0/en/join.html
Als het een 1:* relatie is zal ik adviseren om eerst door alle resultaten van 1 te loopen en binnen de loop een query doen om alle resultaten van 2 op te halen (where idgebruiker = $loopResult['idgebruiker'])
Als het een 1:* relatie is zal ik adviseren om eerst door alle resultaten van 1 te loopen en binnen de loop een query doen om alle resultaten van 2 op te halen (where idgebruiker = $loopResult['idgebruiker'])
Niet echt slim: als 1 1000 resultaten heeft wordt er 1000x een query uitgevoerd!
Beter om een subquery te maken in de from clause, bv:
Maar bij een 1:* relatie kan het soms makkelijker zijn om je join zo te maken dat hij alle * records in laad met de gegevens van je 1 record bij in de row.