Avatar billede kirsten Nybegynder
29. maj 2003 - 23:15 Der er 7 kommentarer og
2 løsninger

Problemer med query over flere tabeller!

Jeg har et problem med dropdown menuerne i denne form!
Den skriver feks knoxvarteam ud flere gange..
Dvs at alle de rows som ligger i tabellen bliver skrevet ud i hver sin dropdown!

<?php
$db = mysql_connect("***","***","***");
mysql_select_db("***",$db);
$result = mysql_query("SELECT knoxlist.last, knoxlist.first, knoxlist.ini, knoxlist.num, knoxlist.tlf, knoxlist.foedselsdag, knoxlist.adresse, knoxlist.emailwork, knoxlist.emailprivat, knoxlist.stilling, knoxlist.basis, knoxlist.team, knoxlist.division, knoxlist.billed, knoxvarteam.team, knoxvardiv.division, knoxvarstilling.stilling, knoxvarbasis.basis from knoxlist, knoxvarteam, knoxvardiv, knoxvarstilling, knoxvarbasis WHERE num='$num'") OR DIE(mysql_error());
while($row = mysql_fetch_array($result)) {
extract($row);

?>
<html>
  <head>
    <title>Personale liste</title>
    <link rel=stylesheet href="../standard/standard.css" style="text/css">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  </head>

<body style="border-left:1px solid black;border-right:1px solid black;">
  <table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
      <td><b>Rediger</b></td>
    </tr>
  <tr><td align="center">

<table width="100%" height="85%" cellspacing=5 cellpadding=0 class="table"><tr><td>

<form enctype="multipart/form-data" action="ret.php" method="post">
    <table width="85%" border="0" align="center" cellpadding="3" cellspacing="3">
      <tr>
        <td width="50%">Private oplysninger:</td>
    <td width="50%">Arbejds oplysninger:</td>
  </tr>
</table>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="50%"><table width="100%" border="0" cellspacing="3" cellpadding="3">
        <tr>
          <td valign="top">Efternavn:<br> <input name="last" type="text" id="last" value="<?php echo $last ?>"> </td>
        </tr>
        <tr>
          <td valign="top">Fornavn:<br> <input name="first" type="text" id="first" value="<?php echo $first ?>"> </td>
        </tr>
        <tr>
          <td valign="top">Fødselsdag: <i>(dd/mm - yyyy)</i><br> <input name="foedselsdag" type="text" id="foedselsdag" value="<?php echo $foedselsdag ?>">
          </td>
        </tr>
        <tr>
          <td valign="top">Adresse: <i>(vej, nr, postnr & by)<br> <textarea name="adresse" cols="25" rows="7" id="textarea"><?php echo $adresse ?></textarea>
          </td>
        </tr>
        <tr>
          <td valign="top">Privat Email:<br> <input name="emailprivat" type="text" id="emailprivat" value="<?php echo $emailprivat ?>">
          </td>
        </tr>
        <tr>
          <td valign="top">Privat Tlf.:<br> <input name="tlf" type="text" id="tlf" value="<?php echo $tlf ?>"> </td>
        </tr>
      </table> </td>
    <td width="50%"><table width="100%" border="0" cellspacing="3" cellpadding="3">
        <tr>
          <td valign="top">Team:<br> <select name="team" type="text" id="team"><option selected><?php echo $team; ?></option>
        <option value="<?php echo $team; ?>"><?php echo $team; ?>
          </select> </td>
        </tr>

        <tr>
          <td valign="top">Afdeling:<br> <select name="division" type="text" id="division"><option selected><?php echo $division ?></option>
        <option value="<?php echo $division ?>"><?php echo $division ?>
          </select> </td>
        </tr>
        <tr>
          <td valign="top">Initialer:<br> <input name="ini" type="text" id="ini" value="<?php echo $ini ?>">
          </td>
        </tr>
        <tr>
          <td valign="top">Lønnummer:<br> <input name="num" type="text" id="num" value="<?php echo $num ?>">
          </td>
        </tr>
        <tr>
          <td valign="top">Stilling:<br> <select name="stilling" type="text" id="stilling"><option selected><?php echo $stilling ?></option>
        <option value="<?php echo $stilling ?>"><?php echo $stilling ?>
        </select> </td>
        </tr>
        <tr>
          <td valign="top">Basis:<br> <select name="basis" type="text" id="basis"><option selected><?php echo $basis ?></option>
        <option value="<?php echo $basis ?>"><?php echo $basis ?>
        </select> </td>
        </tr>
        <tr>
          <td valign="top">Arbejds Email:<br> <input name="emailwork" type="text" id="emailwork" value="<?php echo $emailwork ?>">
          </td>
        </tr>
        <tr>
          <td valign="top">Billede:<br> <input type="file" name="upfile" id="upfile"></td>
        </tr>
        <tr>
          <td valign="top"><br> <input type="hidden" name="num" value="<?php echo $num ?>">
            <input type="submit" name="Submit" value="Gem"> &nbsp; <input type="reset" name="Reset" value="Nulstil">
          </td>
        </tr>
      </table> </td>
  </tr>
</table>

</td></tr></table>
<br></td></tr></table>
</form>
</body>
</html>
<?php
}
?>

Jeg ved det garanteret er simpelt! (og flovt) ;)
Avatar billede arne_v Ekspert
30. maj 2003 - 00:23 #1
Der mangler FROM tabelnavn i din SQL !
Avatar billede arne_v Ekspert
30. maj 2003 - 00:24 #2
Vrøvl. Please ignore.
Avatar billede arne_v Ekspert
30. maj 2003 - 00:25 #3
Det du mangler er join betingelserne.
Avatar billede arne_v Ekspert
30. maj 2003 - 00:26 #4
Når du har 4 tabeller skal du have 3 betingelser i WHERE der beskriver
hvordan tabellerne skal joines sammen.
Avatar billede kirsten Nybegynder
30. maj 2003 - 08:27 #5
hhmm, kan du gi et eksempel?
Avatar billede arne_v Ekspert
30. maj 2003 - 13:43 #6
Noget i retning af:

... FROM knoxlist,knoxvarteam,knoxvardiv,knoxvarstilling WHERE
knoxlist.team=knoxvarteam.team AND
knoslist.division=knoxvardiv.division AND
knoxlist.stilling=knoxvarstilling.stilling AND ...
Avatar billede nsmnsm Nybegynder
06. juni 2003 - 12:16 #7
kirsten derudover - så prøv at gør brug af synonymer, når du har så lange querires samt lange tabelnavne : giver god overskuelighed.

feks :

      SELECT
      t1.last, t1.first osv
      t2.team
      t3.division osv

      from knoxlist t1, knoxvarteam t2, knoxvardiv t3 osv

      WHERE
      t1.team = t2.team AND
      t1.division = t3.division AND osv osv.

Ikke direkte svar på dit spørgsmål :) men arne v har jo lige svaret på det :)
men lidt hjælp til overskuelighed.

Mvh. nsmnsm
Avatar billede arne_v Ekspert
11. juli 2003 - 19:19 #8
kirsten>

Tid at lukke spørgsmålet ?
Avatar billede kirsten Nybegynder
26. oktober 2003 - 10:08 #9
Sorry for den MEEEGGGGEEETTT lange svar tid!
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