Avatar billede chrisson Nybegynder
15. juli 2006 - 17:42 Der er 27 kommentarer og
1 løsning

Hente fra to tabeller i en database!

Hej exp,

Jeg er igang med en grafisk chat, og jeg vil gerne have gjord sådan at jeg kan hente hvilket felt brugeren står på, og hvilken figur brugeren har fra brugere, og den skal os hente hvilket felt tingen står på, og hvilket billede tingen har fra chat-ting

Den der henter fra databasen

$et = mysql_query("SELECT * FROM brugere WHERE felt='1'") or die(mysql_error());

$row1 = mysql_fetch_array($et);

$num1 = mysql_num_rows($et);

______________________________________________

Den der udskriver

<? if ($num1 == "0") { echo "<TD id=1><a href='ryk.php?felt=1&ryk=ja'><img src='images/bg/bg.gif' width='100%' height='100%'></a></TD>"; } else { echo "<TD id=1><img src=images/figur/$row1[figur]><br><FONT FACE=Verdana SIZE=1 COLOR=#FFFFFF><a href=profil.php?b=$row1[brugernavn] target=frame_text>$row1[brugernavn]</a></FONT></TD>"; } ?>
__________________________________________

Det helle skulle gerne være i en.

Håber i kan hjælpe, hvis i ikke forstår hvad jeg skrev, sig det venligst!
Avatar billede chrisson Nybegynder
15. juli 2006 - 17:45 #1
Databaserne er:

Brugere - Her henter den hvilket felt brugeren står på, og hvilken figur brugeren har
Chat-ting - Her henter den hvilet felt tingen står på, og hvilken figur tingen har
Avatar billede zynzz Praktikant
15. juli 2006 - 17:49 #2
$et = mysql_query("SELECT * FROM brugere WHERE felt='1'") or die(mysql_error());
$row1 = mysql_fetch_array($et);

$to = mysql_query("SELECT * FROM tabel WHERE ja='$row1[ja]'") or die(mysql_error());
$row2 = mysql_fetch_array($to);

echo"$row2[ja] $row1[felt]";
Avatar billede zynzz Praktikant
15. juli 2006 - 17:50 #3
Jeg er ikke helt sikker på om det er sådan noget du mener....
Avatar billede chrisson Nybegynder
15. juli 2006 - 17:55 #4
Vil gerne have begge i $et
Avatar billede chrisson Nybegynder
15. juli 2006 - 17:59 #5
Har prøvet med

$et = mysql_query("SELECT * FROM brugere AND chat-ting WHERE felt='1'") or die(mysql_error());

$row1 = mysql_fetch_array($et);

$num1 = mysql_num_rows($et);

Men det fik jeg ikke helt til at virke
Avatar billede zynzz Praktikant
15. juli 2006 - 18:26 #6
Men det kan du ikke, altså du skal lave 2 kald...


Men kan det ikke være lige meget ?
Avatar billede michael_stim Ekspert
15. juli 2006 - 18:32 #7
$et = mysql_query("SELECT * FROM brugere b, chat-ting c WHERE c.felt= b.felt AND c.felt='1'") or die(mysql_error());

Hvis det er samme database. Var det noget á la det du sögte?
Avatar billede michael_stim Ekspert
15. juli 2006 - 18:36 #8
Men som zynzz skriver, hvis det er to forskellige databaser, skal der to kald til. Men er det samme base og forskellige tabeller, skal det nok kunne lade sig göre. Det er bare lidt svärt at tolke dit spörgsmål.
Avatar billede chrisson Nybegynder
15. juli 2006 - 19:20 #9
Prøver lige
Avatar billede chrisson Nybegynder
15. juli 2006 - 19:25 #10
Figuren kommer, når jeg rykker manden fra brugeroplysninger over på feltet hvor jeg har sat tingen.. Figuren ved manden bliver så til tingens figur.. Ik godt
Avatar billede michael_stim Ekspert
15. juli 2006 - 19:28 #11
Så skal der vel bare nogle flere where-betingelser på. Pröv at vis os din databaseopbygning og en lille forklaring. Ellers er det umuligt at hjälpe dig.
Avatar billede michael_stim Ekspert
15. juli 2006 - 19:30 #12
Det jeg skrev var bare et eksempel på hvordan man henter fra 2 tabeller ;o) Jeg har jo ikke en jordisk mulighed for at vide hvad dine forskellige felter hedder.
Avatar billede chrisson Nybegynder
15. juli 2006 - 19:36 #13
Brugere - figur = Billedet på personen, Felt = hvilket felt personen står på
chat-ting - figur = Billedet på tingen, Felt = Hvilket felt tingen står på

Der er selvfølgelig flere, men de skal ikke bruges her
Avatar billede michael_stim Ekspert
15. juli 2006 - 19:50 #14
Du må vel have en eller anden form for relation mellem de 2 tabeller?
$et = mysql_query("SELECT * FROM brugere b, chat-ting c WHERE b.id= c.brugerid AND...osv") or die(mysql_error());
Avatar billede chrisson Nybegynder
15. juli 2006 - 19:57 #15
Hvad mener du lige præsis
Avatar billede michael_stim Ekspert
15. juli 2006 - 20:09 #16
Så man kan se hvilke ting en bruger har.
bruger:
id
figur
felt
osv

chat-ting:
id
brugerid (fra brugeren)
figur
felt
osv
Avatar billede chrisson Nybegynder
15. juli 2006 - 20:45 #17
Istedet for brugerid i chat-ting har jeg owner
Avatar billede zynzz Praktikant
16. juli 2006 - 09:24 #18
$et = mysql_query("SELECT * FROM bruger WHERE id='1'") or die(mysql_error());
$row1 = mysql_fetch_array($et);

$to = mysql_query("SELECT * FROM chat-ting WHERE owner='$row1[id]'") or die(mysql_error());
$row2 = mysql_fetch_array($to);

echo"$row2[figur] $row1[felt]";
Avatar billede chrisson Nybegynder
16. juli 2006 - 21:35 #19
Problemmet er når jeg skal hente begge ned i

<? if ($num1 == "0") { echo "<TD id=1><a href='ryk.php?felt=1&ryk=ja'><img src='images/bg/bg.gif' width='100%' height='100%'></a></TD>"; } else { echo "<TD id=1><img src=images/figur/$row1[figur]><br><FONT FACE=Verdana SIZE=1 COLOR=#FFFFFF><a href=profil.php?b=$row1[brugernavn] target=frame_text>$row1[brugernavn]</a></FONT></TD>"; } ?>
Avatar billede michael_stim Ekspert
16. juli 2006 - 22:53 #20
$et = mysql_query("SELECT * FROM bruger b, chat-ting c WHERE b.id=c.owner AND b.id='1'") or die(mysql_error());

Burde give samme resultat som zynzz'es
Avatar billede chrisson Nybegynder
17. juli 2006 - 00:03 #21
Tror du at man kan lave den med brugernavn istedet, glemte at sige at i owner er der brugernavne
Avatar billede michael_stim Ekspert
17. juli 2006 - 00:10 #22
$et = mysql_query("SELECT * FROM bruger b, chat-ting c WHERE b.brugernavn=c.owner AND b.id='1'") or die(mysql_error());

Sådan???
Avatar billede chrisson Nybegynder
17. juli 2006 - 01:11 #23
Prøver
Avatar billede chrisson Nybegynder
17. juli 2006 - 01:11 #24
Den der AND b.id='1'") Skal det ikke være noget med felt='1'?
Avatar billede michael_stim Ekspert
17. juli 2006 - 09:51 #25
Det ved du meget bedre end mig ;o) Det er bare at prøve sig frem
Avatar billede chrisson Nybegynder
17. juli 2006 - 12:46 #26
Prøvede den her:

$sql = mysql_query("SELECT * FROM brugeroplysninger b, chatting c WHERE b.brugernavn=c.owner AND b.felt='1' AND c.felt='1'") or die(mysql_error());


Men nu gider manden ikke rykke sig
Avatar billede chrisson Nybegynder
17. juli 2006 - 12:47 #27
Har lavet tabellerne lidt om, fordi jeg har leget lidt med at gøre systemmet blinkefrit
Avatar billede chrisson Nybegynder
30. juli 2006 - 12:50 #28
Lukker da jeg ikke fik et svar jeg kunne bruge
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