Nogle som har forstadt på inner join der kan se hvad jeg gør galt i denne kode:
$hent_mail = mysql_query("SELECT * FROM mail WHERE til = '$_SESSION[id]' INNER JOIN mail ON users.id=mail.fra ORDER BY id DESC");
Har to tabeller:
Users og mail
I users skal jeg hente brugerens brugernavn
Og i mail står der bare brugerens id, så det skal jeg så ha konverteret om til brugerens brugernavn istedet.
Men den kode virker ikke ^^ Hvis jeg prøver at udskrive viser den bare blankt der hvor brugernavnet skulle ha stået ( kan selvfølgelig også bare være mig der gør det komplet forkert :D )
Givet følgende tabeller: [TABLE: t_Mail (MailID (PK), UserID (FK), Subject, Body)] [TABLE: t_User (UserID (PK), FirstName, LastName)]
og:
@ID = $_SESSION[id]
får vi:
SELECT t_Mail.MailID, t_Mail.Subject, t_Mail.Body, t_User.FirstName, User.LastName FROM t_Mail INNER JOIN t_User ON t_Mail.UserID = t_User.UserID WHERE (t_Mail.UserID = @ID) ORDER BY t_Mail.ID DESC
Jeg ville bare ha hjælp til den kode jeg skrev længere oppe, altså hvordan den sættes sammen til en sætning hvor jeg kan udskrive brugernavnet frem for id'et
`id` bigint(20) NOT NULL auto_increment, `brugernavn` varchar(255) NOT NULL default '', `adgangskode` varchar(255) NOT NULL default '', `point` varchar(255) NOT NULL default '50', `Rang` varchar(255) NOT NULL default 'Bruger', `logintid` varchar(255) NOT NULL default '', `sidstset` varchar(255) NOT NULL default 'Offline', `fritekst` longtext NOT NULL, `alder` varchar(255) NOT NULL default 'Ikke angivet', `status` varchar(255) NOT NULL default 'Ikke angivet', `landsdel` varchar(255) NOT NULL default 'Ikke angivet', `besk` varchar(255) NOT NULL default 'Ikke angivet', `navn` varchar(255) NOT NULL default 'Ikke angivet', `billede` varchar(255) NOT NULL, `civilstatus` varchar(255) NOT NULL, `logudtid` varchar(255) NOT NULL, `totaltid` varchar(255) NOT NULL, `online` varchar(255) NOT NULL default 'Offline', `penge` int(255) NOT NULL default '100000', `rangliste` varchar(255) NOT NULL default 'Nykommende', `lukket` varchar(255) NOT NULL default 'nej', `kommentar` varchar(255) NOT NULL,
Mail:
`id` int(4) NOT NULL auto_increment, `til` int(4) NOT NULL, `fra` int(4) NOT NULL, `dato` varchar(25) NOT NULL, `besked` longtext NOT NULL, `overskrift` varchar(255) NOT NULL, `laest` int(1) NOT NULL default '0',
Jeg skal hente brugernavnet fra users indtil mail
Så istedet for der står : Fra id : 5 Skal der stå Fra : simotho f.eks ;)
Hvis jeg har forstået det rigtig, så er de numre som står i 'til' og 'fra' brugernes id fra Users tabellen ?? Og du vil så gerne have skiftet dem ud med 'brugernavn' eller 'navn' fra Users tabellen ??
Synes godt om
Ny brugerNybegynder
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.