Avatar billede mr-xmas Nybegynder
27. april 2006 - 18:34 Der er 31 kommentarer og
1 løsning

Hente noget fra en anden tabel via en "id nr"

Hejsa jeg har så bruger får deres egen gæstebog i mit brugersystem
problemet er jeg skal have hentet beskederne som bliver sendt så ham der sender hans id os bliver gemt så skal jeg hente det id og så skal den gå ind og hente det fra brugertabelen
jeg har selv prøvet

koden ser åsdan ud
<?php
include("dbconnect.php");
$getnewss = mysql_query("SELECT arto FROM bruger_gb WHERE brugerid = '$_GET[id]' ORDER BY id DESC");
if ( $row = mysql_fetch_array($getnewss))
{
?>
<?php
$result = mysql_query("SELECT * FROM bruger WHERE id = '".$row['id']."'");
while ($rows = mysql_fetch_array($result)){
extract($rows);
?>
<h4><?php echo("$brugernavn"); ?> <?php echo("$kon"); ?><?php } ?></h4><br />
<?php echo $row['besked']; ?>

<?php           
                  } else {
?>             
                  Der er ingen som har skrevet til denne bruger, du kan blive den første :-)<?php
                }
?>
Avatar billede jakobdo Ekspert
27. april 2006 - 18:58 #1
Den må du gerne lige forklare igen, det du har skrevet giver ikke rigtigt mening! :o)
Avatar billede mr-xmas Nybegynder
27. april 2006 - 19:45 #2
altså jeg har en bruger gæstebog,
og når en bruger skriver i den gemmer den hans id i "bruger_gb" og så når jeg vil hente det fra databasen skal den hente den "brugerid" som den så går ind og kigger i "bruger" efter den id og så skriver feks hans brugernavn
Avatar billede jakobdo Ekspert
27. april 2006 - 20:03 #3
Kan du ikke lige give mig kort info om hvad du gemmer i henholdsvis tabel bruger_gb og bruger ??
Avatar billede mr-xmas Nybegynder
27. april 2006 - 21:28 #4
jo i bruger_gb er der"id, brugerid, og sbrugerid (ham der har sendt)"

og i bruger "id, kon, alder, brugernavn, password, status, oprettet"  og lidt mere
Avatar billede freegeg Nybegynder
27. april 2006 - 22:00 #5
der mangler en masse kommaer, i det spm du har lavet, ville være lættere at se, hva su skiver, samt spørger efter, vis du bruger dem :)
Avatar billede mr-xmas Nybegynder
27. april 2006 - 22:03 #6
freegeg

altså jeg har en bruger gæstebog,
og når en bruger skriver i den gemmer den hans id i "bruger_gb", og  når jeg s¨å vil hente det fra databasen, skal den hente den "brugerid" som den så går ind og kigger i "bruger" efter den id og så skriver feks hans brugernavn
Avatar billede jakobdo Ekspert
27. april 2006 - 22:05 #7
Kan du ikke bruge denne sql så:

SELECT bg.arto, bg.besked, b.brugernavn, b.kon FROM bruger_gb AS bg INNER JOIN bruger AS b ON b.id WHERE bg.brugerid = '$_GET[id]' ORDER BY arto.id DESC
Avatar billede freegeg Nybegynder
27. april 2006 - 22:11 #8
ahh, erstatte "id", med "id"'s brugernavn
Avatar billede mr-xmas Nybegynder
27. april 2006 - 22:16 #9
freegeg det er fordi så skal man kan skifte brugernavn :) det er derfor det køre id
Avatar billede freegeg Nybegynder
27. april 2006 - 22:24 #10
jeg vil også tænke i samme muglighed, som mr-xmas kommer med, da det nok er den bedste måd at gøre det på.. JOIN kan gøre det, allerede før den rammer dit PHP script.
Avatar billede freegeg Nybegynder
27. april 2006 - 22:25 #11
hov.. mente jakobdo :)
Avatar billede mr-xmas Nybegynder
27. april 2006 - 22:34 #12
heh den skriver


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/bruger/bruger_gb.php on line 87


og 87 er
    while($row=mysql_fetch_array($getnews))
Avatar billede freegeg Nybegynder
27. april 2006 - 22:48 #13
hvad version af mysql kører du med?
Avatar billede mr-xmas Nybegynder
27. april 2006 - 22:53 #14
ved jeg ikke det er den som B-one køre med :p
Avatar billede freegeg Nybegynder
27. april 2006 - 23:07 #15
The version of MySQL is Client API version 4.0.24 for din dokumentation :)

SELECT bg.arto, bg.besked, b.brugernavn, b.kon FROM bruger_gb AS bg LEFT JOIN bruger AS b ON b.id WHERE bg.brugerid = '$_GET[id]' ORDER BY arto.id DESC
Avatar billede freegeg Nybegynder
27. april 2006 - 23:09 #16
vis du vil have fuldt adgang (ikke særlig sikkert) kan du bruger * f.esk bg.* og b.*
Avatar billede freegeg Nybegynder
27. april 2006 - 23:17 #17
Avatar billede mr-xmas Nybegynder
28. april 2006 - 13:29 #18
<?php
    include("dbconnect.php");
$getnewss = mysql_query("SELECT bg.arto, bg.besked, b.brugernavn, b.kon FROM arto_bruger_gb AS bg LEFT JOIN artobruger AS b ON b.id WHERE bg.brugerid = '$_GET[id]' ORDER BY arto.id DESC");
    while($q=mysql_fetch_array($getnewss))
    extract($q);
    {
?>

hvad er problemet der :(
Avatar billede mr-xmas Nybegynder
28. april 2006 - 13:30 #19
ups kom til at sende den skriver


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/mr-xmas.dk/mr-xmas.dk/httpd.www/privat/bruger/bruger_gb.php on line 87

i den linje er der
    while($q=mysql_fetch_array($getnewss))
Avatar billede freegeg Nybegynder
28. april 2006 - 13:36 #20
prøv dette..

<?php
    include("dbconnect.php");
$getnewss = mysql_query("SELECT bg.arto, bg.besked, b.brugernavn, b.kon FROM arto_bruger_gb AS bg LEFT JOIN artobruger AS b ON b.id WHERE bg.brugerid = '$_GET[id]' ORDER BY arto.id DESC") OR DIE(mysql_error());
    while($q=mysql_fetch_array($getnewss))
    extract($q);
    {
?>

den skulle så give en bedre info om fejlen
Avatar billede mr-xmas Nybegynder
28. april 2006 - 14:38 #21
ja nu skriver den noget men dden skriver ikke det rigitge brugernavn
Den skriver den sidst nye brugernavn
og ikke den rigtige id

koden ser sådan ud nu
<?php
    include("dbconnect.php");
$getnewss = mysql_query("SELECT bg.besked, b.brugernavn, b.kon FROM arto_bruger_gb AS bg LEFT JOIN artobruger AS b ON b.id WHERE bg.brugerid = '$_GET[id]' ORDER BY bg.brugerid DESC") OR DIE(mysql_error());
    while($q=mysql_fetch_array($getnewss))
    extract($q);
    {
?>
Avatar billede jakobdo Ekspert
28. april 2006 - 15:00 #22
kontakt mig lige på msn: jakobdo (at) hotmail [dot] com
Ellers får vi aldrig løst det problem her tror jeg.
Avatar billede freegeg Nybegynder
28. april 2006 - 15:19 #23
du hugger ham jeg huggede fra dig :'( not fair :P
Avatar billede jakobdo Ekspert
28. april 2006 - 15:27 #24
Du må også gerne hjælpe...
Det var bare for ikke at denne tråd bliver 1000 indlæg langt.
Spørgsmålet lyder jo simpelt, så løsningen burde jo ikke være så besværlig som det tyder på det er.
Avatar billede freegeg Nybegynder
28. april 2006 - 15:34 #25
går nok, som sagt.. et snilt problem, bare længe siden jeg har hjulpet, så er rimlig rusten i at se problemet for mig... men når problemet bliver løst, vil jeg da gerne stadig se hvad fejlen var :)
Avatar billede mr-xmas Nybegynder
28. april 2006 - 16:14 #26
jakobdo jeg har ansøgt dig på msn :)
Avatar billede mr-xmas Nybegynder
28. april 2006 - 21:20 #27
har du godkendt?
Avatar billede jakobdo Ekspert
28. april 2006 - 22:52 #28
Svaret er:

$getnewss = mysql_query("SELECT abg.besked, ab.brugernavn, ab.kon FROM arto_bruger_gb AS abg
INNER JOIN artobruger AS ab ON ab.id = abg.sbrugerid WHERE abg.brugerid = '$_GET[id]'
ORDER BY abg.id DESC") OR DIE(mysql_error());

while($q=mysql_fetch_array($getnewss))
{
    echo '<h4>';
    echo $q['brugernavn'];
    echo '&nbsp;|&nbsp;';
    echo $q['kon'];
    echo '</h4><br />';
    echo $q['besked'];
}
?>
Avatar billede mr-xmas Nybegynder
28. april 2006 - 22:54 #29
Jeg takker mange gange for hjælpen jakobdo og freegeg
Avatar billede jakobdo Ekspert
28. april 2006 - 22:55 #30
Jeg takker for point.
Avatar billede freegeg Nybegynder
29. april 2006 - 02:52 #31
heh... jah så var jeg langt fra
Avatar billede jakobdo Ekspert
29. april 2006 - 08:05 #32
Det var jo heller ikke helt let at gætte hvad MR-Xmas' tabeller og felter hed! :o)
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