Avatar billede tlunde Nybegynder
13. september 2005 - 09:27 Der er 13 kommentarer og
1 løsning

Hente data fra 2 databasetabeller?

Hejsa,
Jeg skal bruge data fra 2 databasetabeller, hvordan skriver jeg det?

Jeg laver mit ene udtræk sådan:

$id = $_GET['id'];
$query = mysql_query("SELECT * FROM forum_main WHERE id='$id'");
$r = mysql_fetch_array($query);

og udskriver det sådan:
$r[navn] ($r[dato])

Men jeg skal bruge nogle oplysninger som ligger i en anden tabel, der hedder brugere, hvordan får jeg det koblet på?
Avatar billede jakobdo Ekspert
13. september 2005 - 09:30 #1
Du kan lave det via en join.
Kig på eksemplerne her på siden: http://www.w3schools.com/sql/sql_join.asp
Avatar billede udvikler Nybegynder
13. september 2005 - 09:32 #2
Kig her i min artikel, der kan du finde det http://www.eksperten.dk/artikler/784

Ellers kan jeg da også hjælpe dig:

mysql_query("SELECT tabel FROM databasenavn");

Det eneste du skal ændre er der hvor der står tabel og databasenavn :)
Avatar billede jakobdo Ekspert
13. september 2005 - 09:35 #3
aco: han skal hente fra 2 tabeller samtidig?
Så: mysql_query("SELECT tabel FROM databasenavn"); er ikke nok!
Avatar billede tlunde Nybegynder
13. september 2005 - 09:39 #4
jakobdo:
Ja, jeg skal bruge data fra 2 tabeller til mit udtræk, fra den tabel der hedder forum_main og brugere. Kan man gøre det i samme query?
Avatar billede tlunde Nybegynder
13. september 2005 - 09:52 #5
jakobdo:
Jeg sidder lidt og roder med det link du gav mig, og jeg kan godt få noget af det til at virke.

Jeg har lavet mig query sådan her:
db_con();
$id = $_GET['id'];
$query = mysql_query("SELECT forum_main.*,brugere.* FROM forum_main, brugere WHERE forum_main.id='$id'");
$r = mysql_fetch_array($query);

og skal så have skrevet noget ud, og det er her det går galt. Skal have noget ala:
<a href='profil_vis.php?id=$r[id]'>$r[navn]</a> - $r[organisation] ($r[dato]) <br><br>$r[tekst]

$r[id] -> Hentes fra tabel brugere
$r[navn] -> Hentes fra tabel brugere
$r[organisation] -> Hentes fra tabel brugere
$r[dato] -> Hentes fra tabel forum_main
$r[tekst] -> Hentes fra tabel forum_main

Jeg kan ik rigtigt få den til at hive oplysningerne ud fra de 2 tabeller??
Avatar billede jakobdo Ekspert
13. september 2005 - 09:59 #6
Du må have et felt i forum_main som stemmer overens med brugere.
Hvilke felter er det?
Avatar billede tlunde Nybegynder
13. september 2005 - 10:04 #7
jakobdo:
Skal der være et felt der stemmer overens?
Det jeg gerne vil have, er at det link der bliver på $r[navn] bliver en henvisning til profil_vis.php hvor man kan se profilen for den person der har oprettet indlægget...

Hvilke felter skal stemme overens for at det kan lade sig gøre?
Avatar billede jakobdo Ekspert
13. september 2005 - 10:06 #8
Så bliver du nød til at gemme info i forum_main, f.eks. et felt som hedder bruger_id
og i din brugere-tabel har du jo også id-er for hver bruger.
Så kan man altid matche de 2 tabeller.
Avatar billede udvikler Nybegynder
13. september 2005 - 10:08 #9
jakobdo:
Hmm, kan man så ikke bare indsætte den kode jeg skrev to gange hvor man hiver dem ud lige efter hinanden ?
Avatar billede jakobdo Ekspert
13. september 2005 - 10:09 #10
aco: Jo, men det er jo ikke god kode! :o)

tlunde: Hvis du opretter som jeg skrev før, så burde du kunne bruge denne sql:

db_con();
$id = mysql_escape_string($_GET['id']);
$query = mysql_query("SELECT brugere.id, brugere.navn, brugere.organisation, forum_main.dato, forum_main.tekst
FROM brugere
INNER JOIN forum_main
ON brugere.id = forum_main.bruger_id
WHERE forum_main.id=".$id);

$r = mysql_fetch_array($query);

og skal så have skrevet noget ud, og det er her det går galt. Skal have noget ala:
<a href='profil_vis.php?id=$r[id]'>$r[navn]</a> - $r[organisation] ($r[dato]) <br><br>$r[tekst]

$r[id] -> Hentes fra tabel brugere
$r[navn] -> Hentes fra tabel brugere
$r[organisation] -> Hentes fra tabel brugere
$r[dato] -> Hentes fra tabel forum_main
$r[tekst] -> Hentes fra tabel forum_main
Avatar billede tlunde Nybegynder
13. september 2005 - 10:10 #11
Jakobdo:
Jeg har i brugere et felt der bare hedder id, som er unik for hver bruger, og det er det id nummer jeg bruger til at hive oplysninger ud om den enkelte bruger. Skal jeg så lave et tilsvarende felt i forum_main der hedder bruger_id, hvor samme unikke id gemmes?
Avatar billede jakobdo Ekspert
13. september 2005 - 10:11 #12
Lige præcis! :o)
Så kan du altid binde et forum-indlæg sammen med en bruger.
Og det er sgu da smart! ;o)
Avatar billede tlunde Nybegynder
13. september 2005 - 10:18 #13
Kigger lige på det her lidt senere, skal lige til møde. Hvis jeg ik lige kan finde ud af det, så skriver jeg lige tilbage til dig, men det ser da ud til at det skulle kunne virke sådan der :)
Avatar billede tlunde Nybegynder
29. september 2005 - 09:12 #14
Fandt aldrig ud af det, men tak for hjælpen og interessen
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
Computerworld tilbyder specialiserede kurser i database-management

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