login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoekscript

Offline prienstra - 04/10/2008 18:52 (laatste wijziging 04/10/2008 18:53)
Avatar van prienstraMySQL interesse Beste mensen,

Ik ben al een tijdje bezig met een zoekscript.
Ik heb diverse velden op index.php:

Land
Provincie
Plaats

Nu zoek ik een zoekscript voor zoek.php.
Nu gebruik ik:
$query = "SELECT * FROM zak WHERE land = '$_GET[land]' AND provincie = '$_GET[provincie]' AND plaats= '$_GET[plaats]' ";

Mensen kunnen alles invullen bv land=nederland provincie=zeeland en plaats=goes, dan gaat alles goed. Maar nu wordt er enkel bij plaats goes ingevuld, dan werkt het niet.

Is er een zoekscript die eerst nagaat welke select er gekozen zijn/is en dan de mogelijkheden uit de database haalt.

10 antwoorden

Gesponsorde links
Offline roberini - 04/10/2008 18:57
Avatar van roberini HTML beginner zoek eerst eens op google...
Offline prienstra - 04/10/2008 19:05 (laatste wijziging 04/10/2008 19:05)
Avatar van prienstra MySQL interesse Dat is hulp waar je wat aan hebt 

Ik heb natuurlijk al gezocht. Heb ook iets gevonden als:
  1. if(isset($_POST['land']) && trim($_POST['land']) != ''){
  2.  
  3. $aWheres['land'] = $_POST['land'];
  4.  
  5. }

Maar krijg het niet werkend
Offline Joost - 04/10/2008 19:10
Avatar van Joost PHP expert Kijk eens bij tutorials => PHP => Formulier afhandelen.
Er staat ook een bij de MySQL sectie.
Offline prienstra - 04/10/2008 19:37
Avatar van prienstra MySQL interesse Je bedoelt deze deze zeker:

Maar daar kom ik ook niet uit.
Offline Joost - 04/10/2008 19:43
Avatar van Joost PHP expert Want...?
Wat lukt er niet? Waar gaat het mis?
Offline prienstra - 04/10/2008 20:29 (laatste wijziging 04/10/2008 20:30)
Avatar van prienstra MySQL interesse Ik probeer dit:
  1. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  2.  
  3. $sQuerystring = 'SELECT * FROM zaak WHERE ';
  4.  
  5. $aWheres = array();
  6.  
  7. if(isset($_POST['land']) && trim($_POST['land']) != ''){
  8.  
  9. $aWheres['land'] = $_POST['land'];
  10.  
  11. }
  12.  
  13. if(isset($_POST['provincie']) && trim($_POST['provincie']) != ''){
  14.  
  15. $aWheres['provincie'] = $_POST['provincie'];
  16.  
  17. }
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25. if(isset($_POST['plaats']) && trim($_POST['plaats']) != ''){
  26.  
  27. $aWheres['plaats'] = $_POST['plaats'];
  28.  
  29. }
  30.  
  31.  
  32.  
  33.  
  34. $iWheres = count($aWheres) ;
  35.  
  36.  
  37. $rQueryresult = mysql_query($sQuerystring) or die(mysql_error());
  38. $iResults = mysql_num_rows($rQueryresult);
  39.  
  40. if($iResults > 0){
  41.  
  42. while($row = mysql_fetch_assoc($rQueryresult)){
  43.  
  44. echo " $row[plaats] ";
  45.  
  46.  
  47.  
  48. }
  49.  
  50. }else{
  51. echo '<p>Er zijn <i>geen</i> resultaten gevonden.</p>';
  52. echo '<br><p><a href="javascript:history.go(-1)" class="button">Opnieuw zoeken!</a></p>';
  53.  
  54. }
  55. }
Offline Joost - 04/10/2008 20:39
Avatar van Joost PHP expert Voeg op regel 30 dit toe:
  1. foreach($aWheres AS $kolom => $waarde){
  2. $sQuerystring .= $kolom."='".$waarde."' AND ";
  3. }
  4.  
  5. $sQuerystring = substr($sQuerystring, 0, (strlen($sQuerystring) - 4));

Dat maakt je query af, hij gaat dan de WHERE opdrachten erbij plaatsen.
Offline prienstra - 04/10/2008 21:24
Avatar van prienstra MySQL interesse en als ik een sort by wil plaatsen, hoe moet dat dan?
Offline Joost - 04/10/2008 21:29
Avatar van Joost PHP expert Na dat stukje:
  1. $sQuerystring .= " SORT BY kolom DESC";
Offline prienstra - 04/10/2008 22:11 (laatste wijziging 20/10/2008 13:26)
Avatar van prienstra MySQL interesse Ik gebruik bovenstaand zoekscript.

Nu wil ik het aanpassen dat er gegevens worden weergeven indien er bij een datum (bv. 2008-10-20) het aantal groter / kleiner is dan bv. 1

  1. if(isset($_GET['aankomst']) && trim($_GET['aankomst']) != ''){
  2. $aWheres [$_GET['aankomst']] > '1' ;
  3. }


Maar helaas werkt dat zo niet. Bij = werkt het wel. Is daar een oplossing voor?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.254s