login  Naam:   Wachtwoord: 
Registreer je!
 Forum

logische querys gebruiken

Offline endymion - 18/04/2005 16:19
Avatar van endymionLid Haij

ik ben bezig met een opdracht, en nu gaat het om het volgende.
ik heb 1 tabel met namen van mensen en 1 tabel met namen van plaatsen.

Nu heb ik een pagina waar je uit een drop down menu de naam van een mens kan selecteren, en daaronder een drop down menu waar je de plaats kan selecteren. Dit doe ik met 2 querys, maar ik heb zo'n gevoel dat het in 1 query kan? ik heb op internet tutorials gelezen op left joins, maar ik blijf het niet snappen hoe die left join werkt. De 2 tabellen hebben geen relatie met elkaar!
Ik post hieronder de code. Het werkt wel allemaal, maar me vraag is of het korter kan, en zoja, hoe.

  1. <?php
  2. include("dbconnect.php");
  3. $query = "SELECT * FROM leden ORDER BY ledenID";
  4. $resultaat = mysql_query($query) or die (mysql_error);
  5. ?>
  6.  
  7. <form action="index.php?pagina=addcijfer" method="post" enctype="multipart/form-data">
  8. <table>
  9. <tr><td width="100"><h2>naam:</h2></td><td><select name="lidnaam" style= "background-color: #cdcdcd;">
  10. <?php
  11. while($obj = mysql_fetch_array($resultaat)){
  12. ?>
  13. <OPTION><?php echo $obj['ledenID']; ?> - <?php echo $obj['voornaam']; ?> <?php echo $obj['achternaam']; ?></OPTION>
  14. <?}?>
  15. </select>
  16. </td> </tr></table>
  17.  
  18. <?php
  19. include("dbconnect.php");
  20. $query2 = "SELECT * FROM plaatsen ORDER BY plaatsID";
  21. $resultaat2 = mysql_query($query2) or die (mysql_error);
  22. ?>
  23.  
  24. <table>
  25. <tr><td width="100"><h2>Plaats:</h2></td><td><select name="plaatsnaam" style= "background-color: #cdcdcd;">
  26. <?php
  27. while($obj2 = mysql_fetch_array($resultaat2)){
  28. ?>
  29. <OPTION><?php echo $obj2['plaats']; ?></OPTION>
  30. <?}?>
  31. </select>
  32. </td> </tr></table>

2 antwoorden

Gesponsorde links
Offline Thomas - 18/04/2005 16:25
Avatar van Thomas Moderator Als de tabellen niet gerelateerd zijn, hoe wilde je ze dan laten joinen ?

Voordat je "logische" queries wilt gaan uitvoeren moet je misschien eerst zorgen dat je database-tabellen "logisch" in elkaar zitten .
Offline endymion - 18/04/2005 16:30 (laatste wijziging 18/04/2005 17:50)
Avatar van endymion Lid Kan je dan niet met een left join 2 tabellen in 1 query krijgen die niet gerelateerd zijn?
Als je dat alleen kan doen als de tabellen een relatie hebben, dan is de volgende methode toch veel makkelijker dan die left join:

bij elke tabel een kolom erbij doen, die een standaart waarde van bijv 2 heeft. ( ff omslachtige relatie )

nu kan je zeggen:
  1. SELECT * FROM leden AS k, plaatsen AS m WHERE k.extrakolom = '2' AND m.zelfdekolom = '2'";

maar dat is ook omslachtig lijkt me..
dus eigenlijk is mijn manier die ik nu gebruik de beste ?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.188s