login  Naam:   Wachtwoord: 
Registreer je!
 Forum

datum problemen met between

Offline IndexS - 17/12/2009 22:39 (laatste wijziging 17/12/2009 22:48)
Avatar van IndexSMySQL interesse Ik wil in mijn zoekformulier kunnen zoeken tussen 2 datums.
Dus een begindatum en een einddatum. Ik ben hier wel meerdere soortgelijke topics tegen gekomen maar het antwoord nog niet gevonden.

Onderstaande is de bedoeling, alleen dan nog de datums goed uitlezen en de between goed krijgen. Wie kan me ermee helpen?
Alvast bedankt!

  1. <form action="datum.php" method="post">
  2.  
  3. Begindatum:
  4. <input type="text" name="begindatum" size="10" maxlength="10"><br />
  5. Einddatum:
  6. <input type="text" name="einddatum" size="10" maxlength="10"><br />
  7. <input type="submit" name="searchBtn" value="selecteer!" />
  8. </form>
  9.  
  10. <?php
  11. include ("config.php");
  12. if(isset($_POST['searchBtn']))
  13. {
  14.  
  15. $begindatum = $_POST['begindatum'];
  16. $einddatum = $_POST['einddatum'];
  17.  
  18. $sql = mysql_query(" SELECT datum FROM tabel WHERE
  19. DATE_FORMAT(datum, '%d-%m-%Y')
  20. BETWEEN '$begindatum'
  21. AND
  22. '$einddatum'
  23. ");
  24.  
  25. while($res = mysql_fetch_array($sql))
  26. {
  27. ?>
  28. <table>
  29. <tr>
  30. <td>Datum</td>
  31. <td><?php echo $res['datum']?></td>
  32. </tr>
  33. </table>
  34. <?php
  35. }
  36. }
  37. ?>

5 antwoorden

Gesponsorde links
Offline Stefan14 - 17/12/2009 23:06 (laatste wijziging 17/12/2009 23:13)
Avatar van Stefan14 PHP gevorderde date_format gebruik je zowieso niet in een where clausule, deze is alleen voor de weergave en komt dus alleen voor in je te selecteren velden.
Om over het format wat je in je where gebruikt nog maar te zwijgen.

Wanneer je datumveld van het type date of datetime is kun je hier vrij simpel in zoeken.

  1. <?php
  2. $query = "SELECT datum FROM tabel WHERE datum >= '".$begindatum."' AND datum <= '".$einddatum."'";
  3. ?>


Met between is ook mogelijk, maar dan moet je wel die date_format eruit halen.
Offline IndexS - 17/12/2009 23:21 (laatste wijziging 17/12/2009 23:23)
Avatar van IndexS MySQL interesse Dat van het date_format komt hier van het forum en voor die persoon werkte het. Heb jou code geprobeerd, maar krijg geen resultaten te zien.
Bij hetgene dat ik hier van het forum heb krijg ik wel alle datums te zien alleen kan ik de between niet werkend krijgen.
Offline Designick - 18/12/2009 13:51 (laatste wijziging 18/12/2009 13:52)
Avatar van Designick Nieuw lid Je vergeet zoiezo een ;
  1. <?php echo $res['datum']?>


  1. <?php echo $res['datum']; ?>
Offline IndexS - 18/12/2009 16:49 (laatste wijziging 23/12/2009 12:21)
Avatar van IndexS MySQL interesse Idd domme fout, maar het heeft geen effect op de uitkomst. 


Niemand die me op weg kan helpen met dit probleem??
Offline NTS64 - 24/12/2009 11:49
Avatar van NTS64 PHP gevorderde Variabelen buiten de quotes houden...
En zet eens een mysql_error() achter je query.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.367s