login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gegevens van ... tot selecteren

Offline StriKe - 26/01/2007 11:40
Avatar van StriKeHTML interesse Ik heb een tabel waarin een aantal gegevens en ook een datum zijn opgeslagen. De datum is opgeslagen onder het type datetime.

Nu schreef ik volgende query:

  1. <?php
  2. $res = mysql_query("select * from nieuws where datum between '" . $van . "' and '" . $tot ."'") or die(mysql_error());
  3. ?>


Probleem is echter dat ik al mijn rijen terugkrijg.
$van en $tot zijn twee POST-variabelen die het volgende formaat hebben: 24/01/2007 11:37.

Ik vermoed dat het ligt aan het feit dat ik er met de enkele quotes een string van maak, maar zet ik die quotes er niet rond, dan krijg ik volgende error terug:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '11:37 and 24/01/2007 11:37' at line 1

5 antwoorden

Gesponsorde links
Offline Thomas - 26/01/2007 11:53 (laatste wijziging 26/01/2007 11:54)
Avatar van Thomas Moderator datetime is yyyy-mm-dd hh:mm:ss, dat lijkt mij niet hetzelfde als dd/mm/yyyy hh:mm. Als je iets zinnigs wilt doen met between in een kolom van het type datetime, dan loont het wellicht de moeite om de waarden waartussen je wilt zoeken in een datetime-formaat te gieten?

EDIT: en als BETWEEN niet werkt gebruik je
WHERE datum >= '$start'
AND datum <= '$eind'

Waar $start en $eind datums zijn in datetime-formaat.
Offline StriKe - 26/01/2007 15:42
Avatar van StriKe HTML interesse Ik heb geprobeerd om $start en $eind op volgende manier om te zetten naar een geldig datum-formaat:

  1. <?php $van = date("Y-m-d H:i:s", strtotime$_POST['van']); ?>


Maar krijg dan de volgende error:
Notice: A non well formed numeric value encountered in C:\Program Files\Apache Group\Apache2\htdocs\mig\www\bin\editnews.php on line 45

Offline Kr4nKz1n - 26/01/2007 15:47 (laatste wijziging 26/01/2007 15:47)
Avatar van Kr4nKz1n Onbekend Daarom werk ik altijd met de unix timestamp.
Offline Thomas - 26/01/2007 15:48
Avatar van Thomas Moderator De tweede parameter dan date() dient een timestamp te zijn?
Hoe ziet $_POST['van'] er uit?
Offline Gerard - 26/01/2007 15:50
Avatar van Gerard Ouwe rakker
Citaat:
<?php $van = date("Y-m-d H:i:s", strtotime$_POST['van']); ?>

Jij mist nog een ( en een ) hier.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s