Format de date pour recherche dans BDD
Résolu/Fermé
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
-
2 oct. 2008 à 19:33
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 2 oct. 2008 à 23:34
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 2 oct. 2008 à 23:34
A voir également:
- Format de date pour recherche dans BDD
- Format epub - Guide
- Telecharger format factory - Télécharger - Conversion & Codecs
- Format apfs - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Trouver une date de naissance gratuit - Forum Webmastering
6 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 oct. 2008 à 22:20
2 oct. 2008 à 22:20
Bonsoir,
le mieux serait que le champ date de ta table soit de type DATE plutôt que texte, donc sous la forme aaaa-mm-jj
et tu fais le SELECT en comparant avec une date aaaa-mm-jj
c'est aussi beaucoup plus facile pour faire des extractions > ou < ( AFTER ou BEFORE )
le mieux serait que le champ date de ta table soit de type DATE plutôt que texte, donc sous la forme aaaa-mm-jj
et tu fais le SELECT en comparant avec une date aaaa-mm-jj
c'est aussi beaucoup plus facile pour faire des extractions > ou < ( AFTER ou BEFORE )
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
2 oct. 2008 à 22:28
2 oct. 2008 à 22:28
Ok mais la date est enregistré dans ma base de donnée via un formulaire avec un simple champ de texte de type input.
Donc comment l'entré ici correctement pour qu'elle soit correctement enregistré?
<input size="9" maxlength="8" name="date">
Donc comment l'entré ici correctement pour qu'elle soit correctement enregistré?
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 oct. 2008 à 22:48
2 oct. 2008 à 22:48
Dans ton formulaire soit tu suggères un format de date à l'utilisateur à coté de l'input
jj-mm-aaaa que tu transforme au passage par php avant d'enregistrer
soit tu mets 3 listes déroulantes jour mois annee et tu as ainsi les 3 parties de ta date que tu mets comme tu veux avant d'enregistrer dans la BDD
jj-mm-aaaa que tu transforme au passage par php avant d'enregistrer
soit tu mets 3 listes déroulantes jour mois annee et tu as ainsi les 3 parties de ta date que tu mets comme tu veux avant d'enregistrer dans la BDD
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
2 oct. 2008 à 22:59
2 oct. 2008 à 22:59
En fait j'ai fait la chose suivante:
Ma date est enregistré correctement.
Toutefois sur une autre page, j'ai un formulaire où j'entre une date (avec un input encore une fois) et je veux retrouvé dans ma base de donnée toute les dates correspondante.
J'ai donc ce code:
Avec une boucle j'affiche tout les résultats. J'ai fait ce code avec d'autres informations et ça marche très bien.
Toutefois ici il m'affiche la chose suivante:
$_SESSION["date"] = $_POST["date"]; list($day, $month, $year) = explode("/", $_SESSION["date"]); $date = ''.$year.'-'.$month.'-'.$day.'';
Ma date est enregistré correctement.
Toutefois sur une autre page, j'ai un formulaire où j'entre une date (avec un input encore une fois) et je veux retrouvé dans ma base de donnée toute les dates correspondante.
J'ai donc ce code:
$_SESSION["date"] = $_POST["date"]; $sql = 'SELECT * FROM dk_travaux WHERE date LIKE '.$_SESSION["date"].'';
Avec une boucle j'affiche tout les résultats. J'ai fait ce code avec d'autres informations et ça marche très bien.
Toutefois ici il m'affiche la chose suivante:
Erreur SQL ! SELECT * FROM dk_travaux WHERE date LIKE 2008-10-02 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 '-10-02' at line 1
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
2 oct. 2008 à 23:10
2 oct. 2008 à 23:10
Il attends '2008-10-02' et pas 2008-10-02
Essayes :
$_SESSION["date"] = $_POST["date"];
list($day, $month, $year) = explode("/", $_SESSION["date"]);
$date = $year.'-'.$month.'-'.$day;
echo $date;
$sql = ' SELECT * FROM dk_travaux WHERE date="%$date%" ';
Essayes :
$_SESSION["date"] = $_POST["date"];
list($day, $month, $year) = explode("/", $_SESSION["date"]);
$date = $year.'-'.$month.'-'.$day;
echo $date;
$sql = ' SELECT * FROM dk_travaux WHERE date="%$date%" ';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
2 oct. 2008 à 23:30
2 oct. 2008 à 23:30
Après quelques légère modif, ça va mieux.
Le echo $date fonctionne et m'afiche la date correctement.
Toutefois, je n'arrive pas a afficher de résultats. Pourtant la date est bien dans ma base.
Le echo $date fonctionne et m'afiche la date correctement.
Toutefois, je n'arrive pas a afficher de résultats. Pourtant la date est bien dans ma base.
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
2 oct. 2008 à 23:34
2 oct. 2008 à 23:34
En fait c'est bon.
Suffisait d'un:
Merci beaucoup pour ton aide en tout cas.
Problème résolu.
Suffisait d'un:
$sql = " SELECT * FROM dk_travaux WHERE date LIKE '%$date%' ";
Merci beaucoup pour ton aide en tout cas.
Problème résolu.