Avatar billede testwatest Nybegynder
11. februar 2007 - 14:42 Der er 7 kommentarer og
1 løsning

Hende beskeder OG brugernavne i samme query

Hej, jeg er igang med et mailsystem hvor jeg blandt andet har felterne: "modtagerid" og "afsenderid".

Hvordan kan jeg finde brugernavnet på afsenderen frem vha. dens id i SAMME mysql-forespørgelse som jeg henter 'brevene'?
Avatar billede coderdk Praktikant
11. februar 2007 - 16:11 #1
Med en INNER JOIN:

SELECT * FROM mails AS m INNER JOIN brugere AS b ON m.afsenderid = b.brugerid WHERE modtagerid = DINBRUGERID
Avatar billede elskermad.dk Nybegynder
11. februar 2007 - 16:37 #2
coderdk: dine as'er er da vist ikke nødvendige? :)
Avatar billede coderdk Praktikant
11. februar 2007 - 16:43 #3
elskermad.dk, Næh :) Det var fordi jeg startede med at tro at han ville hente to forskellige brugernavne ud :-D
Avatar billede testwatest Nybegynder
11. februar 2007 - 17:45 #4
Perfekt coderdk.

Det virker ikke særligt logisk for mig, at den kan udskrive et brugernavn når jeg ikke har angivet `brugere` under min "FROM".

Hvis nu jeg normalt stiller det op som nedenstående. Hvordan ville du så stille det op med en INNER JOIN?

$query = mysql_query(
    "select
        *
    from
        `brugere`
    where
        `brugere` = '{$_GET['id']}'"
);
Avatar billede testwatest Nybegynder
11. februar 2007 - 17:45 #5
$query = mysql_query(
    "select
        *
    from
        `brugere`
    where
        `id` = '{$_GET['id']}'"
);*

og smid et svar
Avatar billede coderdk Praktikant
11. februar 2007 - 17:57 #6
Den er teknisk set også i din FROM da INNER JOIN er med i FROM, det kan skrives på en anden måde som du måske synes ser bedre ud (det gør jeg ikke):

$query = mysql_query(
    "select
        *
    from
        `mail`
        ,`brugere`
    where
        `afsenderid` = `brugerid`
        AND `modtagerid` = {$DIN_BRUGERID}"
);

Jeg synes INNER JOIN er pænere - Specielt hvis du joiner over flere tabeller ;)
Avatar billede testwatest Nybegynder
11. februar 2007 - 18:18 #7
hvordan ville du stille det op med en inner join?
Avatar billede coderdk Praktikant
11. februar 2007 - 18:41 #8
Den jeg lige skrev, skrives med INNER JOIN sådan:

$query = mysql_query(
    "select
        *
    from
        `mail`
    inner join
        `brugere`
    on
        `afsenderid` = `brugerid`
    where
        `modtagerid` = {$DIN_BRUGERID}"
);
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