Champs date + liste déroulante php
Résolu
fauve1512
Messages postés
206
Date d'inscription
Statut
Membre
Dernière intervention
-
fauve1512 Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
fauve1512 Messages postés 206 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans ma page j'ai deux calender qui me permet dans les champs d'afficher deux date ex : entre :12/08/2010 et 08/09/2011 et une liste déroulante qui m'affiche les lignes selon mon choix(la liste fonctionne) maintenant je voudrais selon les choix des dates et le choix de la liste pouvoir afficher les lignes correspondantes ,je ne sais pas comment m'y prendre voici mon code :
Quelqu'un a-t-il la réponse de la manière de s'y prendre ??? Merci
Dans ma page j'ai deux calender qui me permet dans les champs d'afficher deux date ex : entre :12/08/2010 et 08/09/2011 et une liste déroulante qui m'affiche les lignes selon mon choix(la liste fonctionne) maintenant je voudrais selon les choix des dates et le choix de la liste pouvoir afficher les lignes correspondantes ,je ne sais pas comment m'y prendre voici mon code :
<td height="35" colspan="5" align="center" style="font-size:24px" >Statistiques de consommation <tr> <form id="service2" name="service2" method="POST" action="index.php?idpage=3"> <td height="30" colspan="5" align="center"><label>Entre : </label> <input type="text" id="datepicker" name="DATE_SORTIE" value="<?php echo date('d/m/Y'); ?>" /> <label>Et : </label> <input type="text" id="datepicker1" name="DATE_SORTIE" value="<?php echo date('d/m/Y'); ?>" /> <label></label></td> </form> </tr> <tr> <td height="32" colspan="5" align="left"> <form name="service" method="post" action="index.php?idpage=3"> <select name="service" onchange="submit"> <option selected> Choisissez un service</option> <?php $requete = "SELECT distinct service FROM servcart order by service"; $req = mysql_query($requete) or die( mysql_error() ) ; while ($donnees=mysql_fetch_array($req)) { $service = $donnees['service']; ?> <!-- affichage de la liste déroulante --> <option value="<?php echo $service ?>" <?php if ($service == $v_service) { echo 'Selected' ; } ?> ><?php echo $service?></option> <?php } ?> </select> <input type="submit" value="Rechercher" /> </form>
Quelqu'un a-t-il la réponse de la manière de s'y prendre ??? Merci
A voir également:
- Champs date + liste déroulante php
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Site dangereux liste - Guide
145 réponses
voila,la date de ta BDD est en US et toi tu transmet la date en Français,normal que ça ne marche pas. Pour remédier à ce petit soucis,moi généralement pour les champs dates dans ma BDD je ne les met pas en format date, mais plutôt en format "Varchar" et je met la taille du champ à 10 (00/00/0000). comme ça la valeur insérée dans ma BDD sera de type Varchar mais c'est une date au format français insérée.
Pour ton cas,s'il faut que tu changes, c'est facile de changer le type de champ en "Varchar" mais pour tes données il faudra faire autant,les mettre au format français.
J'espère que je me suis fait comprendre?
Pour ton cas,s'il faut que tu changes, c'est facile de changer le type de champ en "Varchar" mais pour tes données il faudra faire autant,les mettre au format français.
J'espère que je me suis fait comprendre?
J'ai compris ce que tu voulais dire pour varchar mais dans mon site j'ai des formulaires avec des champs dates que je fais passer de US à Fr par DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps..est ce que cela peut poser un problème si je change le type??
ok,si tu fais passer tes dates au format US et qu'à l'insertion dans la BDD tout marche,donc tu laisses ainsi.seulement,tu dois faire de même dans ta requete de recherche.il faut changer la date qu'il envoi afin de faire la comparaison dans la BDD.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu veux dire comme ceci:
$requete = "SELECT DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE date_sortie BETWEEN '$v_date_debut' and '$v_date_fin' " ;
si c'est cela ..je l'ai déjà fait et toujours le même problème ..
$requete = "SELECT DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE date_sortie BETWEEN '$v_date_debut' and '$v_date_fin' " ;
si c'est cela ..je l'ai déjà fait et toujours le même problème ..
c'est au plutôt au niveau de $date_debut et $date_fin que tu dois changer le format car ce sont ces deux variables que tu transmet. car $date_debut a cette valeur 01/09/2011 et $date_fin 09/09/2011. or il faut lors de l'envoi de ces variables,les changer en date US
moi aussi pas très à l'aise avec les dates,voila pourquoi je ne me casse pas la tête,je met mes champs en "varchar(10)" et j'ai plus de soucis devant.or pour ton cas,si tu veux faire comme moi,il faudra:
1-change le type dans la base de données (pas compliqué)
2- enlevé la conversion de tes dates dans tous tes formulaires
3- modifier les dates déja présente dans ta BDD pour qu'elles soient en français.
1-change le type dans la base de données (pas compliqué)
2- enlevé la conversion de tes dates dans tous tes formulaires
3- modifier les dates déja présente dans ta BDD pour qu'elles soient en français.
il n'y a donc pas d'autre solution....en plus je traite avec les dates du jour....dans certains formulaires j'ai des dates picker que j'ai passé de us à fr..j'espere que cela ne me fera pas revoir mes codes ..je vais essayé pour cette page ..
alors j'ai changé ma base et le code de la page qui est liée à celle_ci...et pas de changement...il faut pas oublié que là où je récupère mes dates .c'est avec des date picker qui à la base sont au format US et que je mets au format FR....donc le problème ne vient pas de là..je pense que mes champs date ne sont pas reconnus peut_être un problème dans l'input???????
ok,ton cas me fait tourner la tête.le problème se situe au niveau de tes input et des dates.tu utilise kel datepicker?tu l'as téléchargé sur le net?si oui,passe moi le lien et je vais le voir,si possible d'aider à le mettre directement en français
mais je l'ai déjà mis en francais mes dates picker avec une fonction qui fait partie des plugins et ce que j'ai mis c'est date picker jquery ui..je te disait qu'il étaient à la base au format date US et avec cette fonction,j'ai le format Francais ..donc là c'est bon mais je me posait la question si le problème ne venait pas de mes input car à mon avis c'est seulement la liste déroulante qui affiche donc mes champs dates n'ont aucunes action...???
les champs dates n'ont aucune action,c'est qu'il y a un problème quelque part. puisque ta requete passe sous phpmyadmin.donc au niveau de tes input,il y a un souci.
j'ai regardé par rapport à une autre page qui contient action insert et j'ai un date picker ..par rapport à l'input..je ne pense pas.Donc cela ne vient pas de là..
Alors résumons ma requête est bonne,input aussi est bon..puisque cela me renvoye des lignes avec les dates ..en faîte c'est la plage de date qui ne fonctionne pas c'est à dire que normalent si je dis donne les chiffres de 1 à 3 normalement je dois avoir 1,2,3 au lieu de cela , cela fait 1,2,3,4,5...j'y perd mon php..je crois que je vais demandé à mon formateur de web..Merci pour ta patience .....à bientôt
Alors résumons ma requête est bonne,input aussi est bon..puisque cela me renvoye des lignes avec les dates ..en faîte c'est la plage de date qui ne fonctionne pas c'est à dire que normalent si je dis donne les chiffres de 1 à 3 normalement je dois avoir 1,2,3 au lieu de cela , cela fait 1,2,3,4,5...j'y perd mon php..je crois que je vais demandé à mon formateur de web..Merci pour ta patience .....à bientôt
Bonjour,
Formateur absent..donc il semblerait que j'ai un problème sur mes déclarations de variables.
Quand je fais un var_dump,j'ai comme résultat ceci :
'date_sortie' => string '01/09/2011' (length=10)
'date_sortie1' => string '08/09/2011' (length=10)
'service' => string ' Archives' (length=9)
Le problème viendrait entre les valeurs $_POST que je récupère, et les valeurs $_POST qui existent....
Mais je ne vois pas la solution...
Formateur absent..donc il semblerait que j'ai un problème sur mes déclarations de variables.
Quand je fais un var_dump,j'ai comme résultat ceci :
'date_sortie' => string '01/09/2011' (length=10)
'date_sortie1' => string '08/09/2011' (length=10)
'service' => string ' Archives' (length=9)
et je définis $date_debut et $date_fin, je fais : if (isset($_POST['date_debut'])) {$v_date_debut=$_POST['date_debut']; } else {$v_date_debut="";} if (isset($_POST['date_fin'])) {$v_date_fin=$_POST['date_fin']; } else {$v_date_fin="";}
Le problème viendrait entre les valeurs $_POST que je récupère, et les valeurs $_POST qui existent....
Mais je ne vois pas la solution...
Bonjour,
Voici ma requête avec les variables :
Voici ma requête avec les variables :
<?php if (isset($_POST['date_debut'])) {$v_date_debut=$_POST['date_debut']; } else {$v_date_debut="";} if (isset($_POST['date_fin'])) {$v_date_fin=$_POST['date_fin']; } else {$v_date_fin="";} if (isset($_POST['date_sortie'])) {$date_sortie=$_POST['date_sortie']; } else {$date_sortie="";} ?> <?php $requete = "SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '$v_date_debut' and '$v_date_fin'"; $req = mysql_query($requete) or die( mysql_error()) ; ?>
c'est une déclaration de variable,si je l'enlève il me marque comme erreur variable non défini mais peut_être dois je la déclarée autrement??
j'ai refait mon code
<?php
if ( isset($_POST['date_sortie']))
{
$date_sortie= $_POST['date_sortie'];
$date_debut= $_POST['date_debut'];
$date_fin= $_POST['date_fin'];
$requete = "SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '$date_debut' and '$date_fin'";
$req = mysql_query($requete) or die( mysql_error()) ;
?>
<php }?>
mais sans changement..les deux variables $date_debut et $date_fin posent un problème !!!!!!
<?php
if ( isset($_POST['date_sortie']))
{
$date_sortie= $_POST['date_sortie'];
$date_debut= $_POST['date_debut'];
$date_fin= $_POST['date_fin'];
$requete = "SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '$date_debut' and '$date_fin'";
$req = mysql_query($requete) or die( mysql_error()) ;
?>
<php }?>
mais sans changement..les deux variables $date_debut et $date_fin posent un problème !!!!!!