Avatar billede inctor Nybegynder
17. oktober 2005 - 11:34 Der er 18 kommentarer og
1 løsning

Hente oplysninger fra 2 tabeller på samme tid ?

Haii Saa .. !

eR det muligt at hente 2 tabeller samtidig ? har en Tabel der hedder "infoer" oG "users" .. Hvis en bruger med ID'et "20" oG Username'et "infotest", så skal den automatisk hente en række i tabellen "infoer" hvor Username'et eR det samme som i users .. hvis i forstår .. har prøvet at lave en, men den virkede godt nok men hvis jeg klikkede på en andens info kom der min info istedet for hans .. :S Men hvis i forstår hvad jeg mener med det, så hjælp mig endelig ! Hvilke Filer oG koder skal bruges ?

C'Ya Mads !
Avatar billede fennec Nybegynder
17. oktober 2005 - 11:40 #1
"select * from infoer inner join users on users.id=infoer.userID where users.id=20"
Avatar billede fennec Nybegynder
17. oktober 2005 - 11:42 #2
Hænger tabellerne sammen på ID'et eller navnet?? For den jeg har lavet bruger userID'et.

Med navnet (frarådet metode, da det er bedre/hurtigere at sammenligne tal end tekst)
"select * from infoer inner join users on users.name=infoer.userName where users.id=20"
Avatar billede inctor Nybegynder
17. oktober 2005 - 11:44 #3
hva eR users.id=20 til ? jeg skal bruge den sån så den kan bruges til alle .. oZz dem med et X id .. X = Tilfældigt tal ..
Avatar billede inctor Nybegynder
17. oktober 2005 - 11:45 #4
på username'et ..
Avatar billede fennec Nybegynder
17. oktober 2005 - 11:57 #5
Sådan får du alle ud:
"select * from infoer inner join users on users.username=infoer.username"

Hvis du kun vil have en bestemt brugers data ud, skal du have "where" med.
"select * from infoer inner join users on users.username=infoer.username where users.id=20"

(20 svarer her til brugeren med ID 20.)

Ellers skal du fortælle mig hvilke kolonner, der er på de to tabeller.
Avatar billede inctor Nybegynder
17. oktober 2005 - 12:49 #6
Øhm .. alle sammen i både Users oG Infoer ?
Avatar billede fennec Nybegynder
17. oktober 2005 - 12:59 #7
Kun kolonnenavne. Ikke rækkerne. Noget i denne stil:

users:
ID, username, name, address, city...

infoer:
ID, username...
Avatar billede inctor Nybegynder
17. oktober 2005 - 13:03 #8
okay 2 sek ..

Users:
ID, username ...

Infoer:
navn, alder, email, mobil, text, icq ...
Avatar billede inctor Nybegynder
17. oktober 2005 - 13:05 #9
hva så når jeg skal rette i oplysningerne ? jeg har en retprofil men den gider ikke .. ? dette eR en min retprofil :

<? include("inc/sql.php"); ?>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY TEXT="#000000" LINK="#000000" VLINK="#000000" ALINK="#000000">
<FONT FACE="Verdana" SIZE="1" COLOR="#000000">
<?
$result3 = mysql_query("SELECT * FROM infoer WHERE id = '$id'");
$row    = mysql_fetch_array($result3);
?>
<DIV STYLE="text-align:center">
<form action="retprofilok.php" method="POST">
<FONT FACE="Verdana" SIZE="1" COLOR="#FFFFFF">
Navn: <INPUT TYPE="text" SIZE="15" NAME="navn" CLASS="felt" VALUE="<? echo "$row[navn]"; ?>"><BR>
Alder: <INPUT TYPE="text" SIZE="15" MAXLENGTH="2" NAME="alder" CLASS="felt" VALUE="<? echo "$row[alder]"; ?>"><BR>
ICQ: <INPUT TYPE="text" SIZE="15" NAME="icq" CLASS="felt" VALUE="<? echo "$row[icq]"; ?>"><BR>
Mobil: <INPUT TYPE="text" SIZE="15" NAME="mobil" CLASS="felt" VALUE="<? echo "$row[mobil]"; ?>"><BR>
Hjemmeside: <INPUT TYPE="text" SIZE="15" NAME="web" CLASS="felt" VALUE="<? echo "$row[web]"; ?>"><BR>
E-Mail: <INPUT TYPE="text" SIZE="15" NAME="mail" CLASS="felt" VALUE="<? echo "$row[mail]"; ?>"><BR>
Fritekst:
<BR>
<TEXTAREA WRAP="physical" ROWS="10" COLS="20" NAME="info" STYLE="background-color : #182129;color: #ffffff;border: 1px solid #ffffff;"><? echo "$row[info]"; ?></TEXTAREA>
<BR>
<INPUT TYPE="submit" VALUE="Opdater Profil" CLASS="knap">
</form>


ska den laves om? eller ? har oZz en Retprofilok .. skal du oZz se den ?
Avatar billede fennec Nybegynder
17. oktober 2005 - 13:47 #10
Hvilken værdi har $id??
Den skal ændre sig alt efter hvilken bruger du vil se.
Avatar billede inctor Nybegynder
17. oktober 2005 - 13:53 #11
hva mener du med værdi?
Avatar billede inctor Nybegynder
17. oktober 2005 - 13:54 #12
Feltnavn  Datatype Attributter Nulværdi Standardværdi Ekstra Handling
    id      int(5)                Nej                  auto_increment 


Det du mener ?
Avatar billede fennec Nybegynder
17. oktober 2005 - 14:07 #13
Nej.
I din PHP kode bliver $id variablen tildelt en værdi (ved ikke hvor du gør det), men det er denne værdi der er styrende for hvilke data du ser. Hvis du f.eks vil se brugeren med id 20:

$id = 20
$result3 = mysql_query("SELECT * FROM infoer WHERE id = '$id'");

Det er sikkert dette, der har drillet dig.
Avatar billede inctor Nybegynder
17. oktober 2005 - 14:14 #14
$userid = $_GET[userid];


Ligesom denne^? kan du ikk lave en fil til mig med en seprofil og retprofil hvis du har tid .. ?

Be Om ! c",)
Avatar billede fennec Nybegynder
17. oktober 2005 - 14:23 #15
Jo, men så bliver det først i aften, da jeg er på arbejde nu :o)
Avatar billede inctor Nybegynder
17. oktober 2005 - 14:29 #16
det iorden .. skal til lan om lidt, så jeg er på de næste 3 døgn .. men helst så hurtigt som muligt .. :-)
Avatar billede inctor Nybegynder
17. oktober 2005 - 14:52 #17
skriv til mig herinde, altså i dette Topic, når du har fået lavet teksten/filerne .. skal nok tjekke det så oftest som muligt ..
Avatar billede fennec Nybegynder
17. oktober 2005 - 21:25 #18
En tanke jeg fik "hvorfor gemmer du ikke alle oplysninger i samme tabel"??

Dernæst synes jeg ikke jeg har alle oplysninger om din database, så jeg tænkte at du kunne få en af mine filer også tilrette den. Dette er en komplet fil til oprettelse, rettelse og slet:

<?php

$conn = mysql_connect("aaaa", "bbb", "ccc");
mysql_select_db("DB");
$mode = "";
if(isset($_REQUEST["mode"]))
{
    $mode = $_REQUEST["mode"];
}

$url = $_SERVER["SCRIPT_NAME"];
$bID = $_REQUEST["bID"];

if($mode == "save")
{
    $username = $_REQUEST["username"];
    $pass = $_REQUEST["pass"];
    $name = $_REQUEST["name"];
    $email = $_REQUEST["email"];
    if($bID != "")
    {
        $sql = "update players set username='$username', pass='$pass', name='$name', email='$email' where id=$bID ";
        mysql_query($sql);
    }
    else
    {
        $sql = "insert into players(username,pass,name,email) values('$username','$pass','$name','$email')";
        mysql_query($sql);
    }
    echo mysql_error();
    mysql_close($conn);
    header("location: $url");
    exit;
}
elseif($mode == "del")
{
    if($bID != "")
    {
        mysql_query("delete from players where id=$bID");
    }
    mysql_close($conn);
    header("location: $url");
    exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Bruger</title>
    <link rel="STYLESHEET" type="text/css" href="style.css">
</head>

<body>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function send(mode)
{
    if(mode == 'del')
    {
        if(window.confirm("Vil du slette brugeren?"))
        {
            document.form.action = '<?php echo $url ?>?mode='+mode;
            document.form.submit();
        }
    }
    else
    {
        document.form.action = '<?php echo $url ?>?mode='+mode;
        document.form.submit();
    }
}
//-->
</SCRIPT>
<form name="form" action="" method="post">
<?php
if($mode == "new" or $mode == "edit")
{
    if($mode == "edit")
    {
        if($bID != "")
        {
            $result = mysql_query("select * from players where id=$bID");
            if($row = mysql_fetch_array($result))
            {
                extract($row);
            }
        }
    }
?>
<input type="Hidden" name="bID" value="<?php echo $id; ?>">
<table>
<tr>
    <td colspan="2" class="over">Ny Bruger</td>
</tr>
<tr>
    <td>Navn:</td>
    <td><input type="Text" name="name" value="<?php echo $name; ?>"></td>
</tr>
<tr>
    <td>Brugernavn:</td>
    <td><input type="Text" name="username" value="<?php echo $username; ?>"></td>
</tr>
<tr>
    <td>Password:</td>
    <td><input type="Text" name="pass" value="<?php echo $pass; ?>"></td>
</tr>
<tr>
    <td>Email:</td>
    <td><input type="Text" name="email" value="<?php echo $email; ?>"></td>
</tr>
<tr>
    <td colspan="2" class="over">
        <input type="Button" class="button" value="Gem" onclick="send('save')">
        <input type="Button" class="button" value="Annuler" onclick="send('')">
    </td>
</tr>
</table>
<?php
}
else
{
?>
<table>
<tr>
    <td colspan="2" class="over">Bruger</td>
</tr>
<tr>
    <td>Bruger:</td>
    <td>
        <select name="bID" onchange="send('');">
<?php     $result = mysql_query("select * from players order by name");
        while($row = mysql_fetch_array($result)){
            if($bID == $row["id"])
            {
                echo "<option value=\"".$row["id"]."\" selected>".$row["name"];
                extract($row);
                $bID = $id;
            }
            else
            {echo "<option value=\"".$row["id"]."\">".$row["name"];}
           
        }
?>
        </select>
    </td>
</tr>
<?php

if($bID != "")
{
    $result = mysql_query("select * from players where id=$bID");
    if($row = mysql_fetch_array($result))
    {
        extract($row);
    }
}
else
{
    $result = mysql_query("select * from players order by name");
    if($row = mysql_fetch_array($result))
    {
        extract($row);
    }
}
?>
<tr>
    <td>Brugernavn:</td>
    <td><?php echo $username; ?>&nbsp;</td>
</tr>
<tr>
    <td>Password:</td>
    <td><?php echo $pass; ?>&nbsp;</td>
</tr>
<tr>
    <td>Email:</td>
    <td><?php echo $email; ?>&nbsp;</td>
</tr>
<tr>
    <td colspan="2" class="over">
        <input type="Button" class="button" value="Ny" onclick="send('new')">
        <input type="Button" class="button" value="Slet" onclick="send('del')">
        <input type="Button" class="button" value="Ret" onclick="send('edit')">
    </td>
</tr>
</table>
<?php
}
?>

</form>
<?php
mysql_close($conn);
?>
</body>
</html>


ps. Jeg har klippet i filen, så måske har jeg klippet for meget, men jeg har gennemgået den, så den skulle være ok.

Bare sig til hvis der er noget af den du ikke forstår :o)
Avatar billede inctor Nybegynder
10. november 2005 - 09:16 #19
Lukker
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