Avatar billede n-emy Nybegynder
21. februar 2008 - 19:13 Der er 7 kommentarer og
1 løsning

Udtræk fra flere tabeller samtidig

Hejsa

Jeg har to tabeller, og vil gerne have lavet en udskrift som kombinerer data fra disse to. Jeg har hørt om en funktion der hedder inner join, forsøgte at søge på php.net men kunne ikke finde nogen.

Eksempel:

Vi har en bruger med id'et 1 og han har to venner med henholdsvis id 2 og 3.

Tabel 1 - hændelse.
userid
tekst

Tabel 2 - venner
userid
venid

Jeg vil gerne have et udtræk, der henter alle hændelse fra medlemmer som medlem 1 er ven med. Så alle hændelse der har userid 2 eller 3 skal udskrives. Så den skal gå over i tabel 2 og hente hvilke venner brugeren har og så udskrive hændelser fra de venner brugeren har. Håber i forstod :)
Avatar billede haren Nybegynder
21. februar 2008 - 23:05 #1
Og du vil ikke lave to SQL udtræk?

$sql = mysql_query("SELECT userid FROM tabel1 WHERE x=x LIMIT 1");
$fetch = mysql_fetch_row($sql);
$udtraek = mysql_query("SELECT venid FROM tabel2 WHERE userid = $fetch[0]");

etc indtil du har de info du skal bruge.
Ved ikke om det kan gøres smartere.

(Det er lang tid siden jeg sidst har kodet php, så bær over med mig, hvis jeg er helt ude i skoven)
Avatar billede phillips Nybegynder
23. februar 2008 - 11:46 #2
Der er en fin tutorial til join her:

http://www.tizag.com/mysqlTutorial/mysqlleftjoin.php

Med join kan du nøjes med et enkelt kald til mysql_query i stedet for to som foreslået af haren.
Avatar billede mewm Nybegynder
23. februar 2008 - 13:22 #3
hvad med
SELECT * FROM venner_table as venner
LEFT JOIN haendelser_tabel as haen ON (venner.userid = haen.userid)
WHERE venner.userid = X

?
Avatar billede haren Nybegynder
23. februar 2008 - 19:31 #4
Smart.. :)
Avatar billede haren Nybegynder
23. februar 2008 - 19:32 #5
Tjek også www.mysql.com/join - den plejer at være god til forklaring af syntaks.
Avatar billede n-emy Nybegynder
22. marts 2008 - 18:29 #6
Takker, svar mewm? :)
Avatar billede mewm Nybegynder
06. februar 2009 - 18:55 #7
Jep smid svar :=D
Avatar billede n-emy Nybegynder
25. maj 2009 - 23:37 #8
Svar? =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester