Calypdoso
Messages postés18Date d'inscriptionmardi 18 octobre 2005StatutMembreDernière intervention 3 juillet 2009
-
2 juil. 2009 à 22:09
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
4 juil. 2009 à 11:47
Bonjour et merci pour vos aident précédentes.
Je poursuis le développement dem on site.
Tout se passe globalement bien et j'essais de ne pas trop vous soliciter.
Mais voilà, parfois j'ai besoin d'un coup de pouce.
---------------------------------
Sur un page PHP j'ai 2 champs pour la recherche.
"DE" et l'autre "A"
Le format de la saisie est JJ/MM/AAAA.
Je clique sur Valider pour lancer la recherche.
Une autre page, alors, reçois les $_POST, recherche et affiche le résultat.
Mais le résultat n'est pas celui attendu.
Si je fait une recherche de 04/01/2009 à 04/03/2009 le résultat est :
04/03/2007
04/02/2008
04/02/2009
04/02/2009
04/03/2009
Et seulement 10 résultats.
Voici le code :
--------------------
//on se connecte à la base de donnée
$db = mysql_connect($host,$login,$pass) or die ("erreur de connexion");
//selection de vôtre base de donnée
mysql_select_db($base,$db) or die ("erreur de connexion base");
// Faire suivre les variables de recherche
//$nom = $_POST['info2'];
//requète de recherche
//$req = mysql_query("SELECT * FROM histopoints WHERE iduser LIKE '%".$_SESSION['id_user']."%' Order by datedj DESC");
$req = mysql_query("SELECT * FROM histopoints WHERE datedj BETWEEN '$_POST[date1]' AND '$_POST[date2]' Order by idhistop ASC");
-------------------------------------
Merci encore pour votre aide.
Cordialement
Calypdoso.
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 3 juil. 2009 à 08:45
C'est normal.. tu envoies directement la valeur du POST. Or, la date au format MySQL est différente de notre syntaxe de date (tout comme les anglais ou autres..)
Le format de date est YYYY-MM-DD, il te faut soit :
- retravailler la chaine de caractères DD/MM/YYYY pour la transformer en YYYY-MM-DD
- si tu es en PHP 5.2.6 (ou 9 je ne sais plus).. tu as l'objet DateTime qui te permets de le faire.
S.
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 4 juil. 2009 à 11:47
Vi vi.. dans ta base ça doit être au format DATE, sinon tu fais de la comparaison de chaine de caractères.
Si tu veux utiliser une fonction inhérente à une date, ta donnée doit être définie comme.. une date.
S.