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
Je vais tenter de t'aider, par ailleurs je crois avoir compris mais je souhaite que tu réexplique ce que tu souhaite faire !
Mici
Mici
Salut!
pour ta requete,tu dois utiliser between pour sélectionner la date entre les intervalles choisies.
exemple:
Voila un peu à quoi va ressembler ton code.
pour ta requete,tu dois utiliser between pour sélectionner la date entre les intervalles choisies.
exemple:
SELECT * FROM ta_table WHERE Date BETWEEN '06-Jan-1999' AND '10-Jan-1999' and liste-choix='ton_choix'
Voila un peu à quoi va ressembler ton code.
Bonjour à vous
Je sais que je dois faire une requête avec beetween...mais c'est deux datepicker(calender) et c'est une seule colonne qui a les dates,je m'explique c'est pour des statistiques, une colonne contient toutes les dates de sorties de cartouches et je n'ai qu'une variable pour faire les deux dates qui est
Je sais que je dois faire une requête avec beetween...mais c'est deux datepicker(calender) et c'est une seule colonne qui a les dates,je m'explique c'est pour des statistiques, une colonne contient toutes les dates de sorties de cartouches et je n'ai qu'une variable pour faire les deux dates qui est
$date_sortie=$_POST['date_sortie'],j'ai essayé ceci WHERE date_sortie BETWEEN '$date_sortie'AND '$date_sortie',mais il cela ne fonctionne pas
et pour l'explication,je voudrais savoir les statistiques de consommation en choisisant une période de date...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai fait ceci :
<form id="service2" name="service2" method="POST" action="index.phpidpage=3"> <td height="30" colspan="5" align="center"><label>Entre : </label> <?php $requete3 = "SELECT DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE date_sortie BETWEEN '$date_sortie' AND '$date_sortie' and service='v_service'"; $req3 = mysql_query($requete3) or die( mysql_error() ) ; ?> <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>
Si je comprend bien, tu n'as qu'un seul champ date? je pense que s'il faut vérifier la date suivant une période,alors il te faut un deuxième champ.
bonjour bissdebrazza,
J'ai deux champs qui se présente ainsi :
Entre : champs "datepicker" Et : champs "datepicker" et une liste déroulante qui contient tous les services.
J'ai deux champs qui se présente ainsi :
Entre : champs "datepicker" Et : champs "datepicker" et une liste déroulante qui contient tous les services.
si tu regarde mon code au début de mon post ils sont bien présent..merci de prendre un peu de temps pour me répondre..
ok je vois.alors si je comprend bien tes deux datepicker ont le même nom. essai de faire datepicker pour ton champ datesortie et datepicker et tu met datesortie1 pour differencier les deux champs. car quand tu fais $date_sortie' pour le champ 1 et $date_sortie' pour le champ 2.Normal que ça passe pas.il faut differencier tes variables.
j'ai fait ceci j'ai déclaré une variable supplèmentaire
ensuite j'ai fait ceci dans mon code
mais rien ne se passe où est mon erreur
if (isset($_POST['date_sortie'])) {$date_sortie1=$_POST['date_sortie']; } else {$date_sortie1="";} et l'autre initiale if (isset($_POST['date_sortie'])) {$date_sortie=$_POST['date_sortie']; } else {$date_sortie="";}
ensuite j'ai fait ceci dans mon code
<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_SORTIE1" value="<?php echo date('d/m/Y'); ?>" /> <label></label> <?php $requete3 = "SELECT DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE date_sortie BETWEEN '$date_sortie' AND '$date_sortie1' and service='v_service'"; $req3 = mysql_query($requete3) or die( mysql_error() ) ; ?> </td> </form> <?php if ( isset($_POST['service']) and isset($_POST['DATE_SORTIE']) ){ $service = $_POST['service']; $date_sortie= $_POST['DATE_SORTIE']; $requete2 = "SELECT uf,service,cartouche,sortie_stock,DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE service='$service' order by date_sortie"; $req2 = mysql_query($requete2) or die( mysql_error() ) ; while ($donnees2=mysql_fetch_array($req2)) { ?> <tr> <td><?php echo $donnees2['uf']; ?></td> <td><?php echo $donnees2['service']; ?></td> <td><?php echo $donnees2['cartouche']; ?></td> <td><?php echo $donnees2['DateTemps']; ?></td> <td><?php echo $donnees2['sortie_stock']; ?></td> </tr> <?php } } ?>
mais rien ne se passe où est mon erreur
essai ça
if (isset($_POST['date_sortie1'])) {$date_sortie1=$_POST['date_sortie1']; } else {$date_sortie1="";} et l'autre initiale if (isset($_POST['date_sortie'])) {$date_sortie=$_POST['date_sortie']; } else {$date_sortie="";}
je l'ai fait,rien ..question : mais étant sur la même colonne il ne peut rechercher date_sortie1 car dans ma bd cela n'existe pas non ????
même si tu es sur la même colone,ça recherche.essai de taper ta requête dans phpmyadmin.regarde cet exemple,il n'y a qu'une seule colonne date,mais on fait une recherche sur une période de cette colonne.
J'ai testé la requete il ne me retourne aucune ligne et si je fait la requete sans le service juste le between il me retourne colonne date_sortie mais toutes les lignes à 00/00/0000
attention,il faut voir le format de ta date dans la base de données.généralement mysql enregistre la date au format anglais '0000/00/00' et si toi tu tape ta date au format français,ça ne marchera pas.regarde bien le format de ta date
excuses- moi,j'ai mis le mauvais format dans marequete test,j'ai zappé que le format était en US donc la requete juste avec les dates cela me renvoye bien les lignes correspondantes et si je rajoute le service il m'affiche juste la date la plus ancienne et une seule ligne
je ne comprend pas quand tu dis la date la plus ancienne.donc si tu tape la date actuelle (par exemple 08/09/2011 et 09/09/2011) ça ne t'affiche rien?et si ça te renvoi une seule ligne,alors vérifie bien que ça doit que te renvoyer cette ligne
je viens de tester ma page maintenant il me renvoye des lignes mais pas toutes,si je fais 01/09/2011 et 09/09/2011 il me recupère 4 lignes et normalement il y en a 5 ,la date 05/09/2011 n'est pas présente
4517 Archives BCI 6 E 520 Cyan 08/09/2011 1
4517 Archives 1720 08/09/2011 1
4517 Archives 343 Couleur 09/09/2011 10
4517 Archives 4096 A 2100 2200 09/09/2011 10
4517 Archives BCI 6 E 520 Cyan 08/09/2011 1
4517 Archives 1720 08/09/2011 1
4517 Archives 343 Couleur 09/09/2011 10
4517 Archives 4096 A 2100 2200 09/09/2011 10
vraiment bizarre.si la date du 05/09/2001 ne s'affiche pas,peut être que cette ligne ne respecte pas une condition dans la requête.au fait,envoi moi le code où tu as le formulaire avec tes deux datepicker.
voilà le code :
<tr> <form id="service2" name="service2" method="POST" action="index.php?idpage=3"> <td height="26" 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_SORTIE1" value="<?php echo date('d/m/Y'); ?>" /> <label></label> <?php $requete3 = "SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '$date_sortie' AND '$date_sortie1' and service='v_service'"; $req3 = mysql_query($requete3) or die( mysql_error() ) ; ?> </td> </form> </tr>