Champs date + liste déroulante php
Résolu/Fermé
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
-
Modifié par fauve1512 le 12/09/2011 à 12:03
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 26 sept. 2011 à 13:31
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 - 26 sept. 2011 à 13:31
A voir également:
- Champs date + liste déroulante php
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Cette photo n’a pas été prise cette année. trouvez la date, l'heure et avec quel modèle d'appareil photo elle a été prise. - Forum Graphisme
- Supprimer liste déroulante excel ✓ - Forum Excel
- Supprimer une liste déroulante - Forum Word
145 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
21 sept. 2011 à 11:45
21 sept. 2011 à 11:45
salut,
voir les remarques et modifs
ensuite est ce que ton champ qui contient les dates est bien de type dDATE dans ta BDD, regardes comment sont affichées tes dates dans la BDD.
et regardes si c'est le même format que celles affichées par l'echo date_debut date_fin
donnes nous le résultat
voir les remarques et modifs
ensuite est ce que ton champ qui contient les dates est bien de type dDATE dans ta BDD, regardes comment sont affichées tes dates dans la BDD.
et regardes si c'est le même format que celles affichées par l'echo date_debut date_fin
donnes nous le résultat
<?php //gestion de la ligne selectionnée if (isset($_POST['uf'])) {$uf=$_POST['uf']; } else {$uf="";} if (isset($_POST['service'])) {$v_service=$_POST['service']; } else {$v_service="";} ?> <table width="580" height="209" border="3"> <form name="rechercher" method="post" action="index.php?idpage=3"> <tr> <td height="35" colspan="5" align="center" style="font-size:24px" >Statistiques de consommation </td> </tr> <tr> <td height="32" colspan="5" align="left"> <select name="service" > <option> Choisissez un service</option> <!-- tu ne doit pas mettre selected ici car par php plus bas si tu en as un autre ça fait conflit de toute façon par défaut c'esttjs la première ligne qui est selected --> <?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> </td> </tr> <tr> <td height="30" colspan="5" align="center"> <label>Entre : </label> <input type="text" id="datepicker" name="date_debut" /> <label>Et : </label> <input type="text" id="datepicker1" name="date_fin" /> </td> </tr> <tr> <th height="28" colspan="5" scope="row" align="center"> <input type="submit" value="Rechercher" /> </th> </tr> <tr> <th width="52" height="36" bgcolor="#5ab9d8" scope="col">UF</th> <th width="159" bgcolor="#5ab9d8" scope="col">SERVICE</th> <th width="191" bgcolor="#5ab9d8" scope="col">CARTOUCHE</th> <th width="77" bgcolor="#5ab9d8" scope="col">DATE</th> <th width="63" bgcolor="#5ab9d8" scope="col">SORTIE STOCK</th> </tr> <?php if (isset($_POST['date_debut']) AND isset($_POST['date_fin'])) { $date_debut=$_POST['date_debut']; $date_fin=$_POST['date_fin']; //un petit echo pour voir la forme de tes dates echo "date debut: ".$date_debut; echo " date fin: ".$date_fin; /// $requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE date_sortie BETWEEN '$date_debut' and '$date_fin' and uf='$uf' order by date_sortie "; $req2 = mysql_query($requete2) or die( mysql_error() ) ; while ($donnees2=mysql_fetch_array($req2)) { ?> <tr> <td height="22"><?php echo $donnees2['uf']; ?></td> <td><?php echo $donnees2['service']; ?></td> <td><?php echo $donnees2['cartouche']; ?></td> <td><?php echo $donnees2['date_sortie']; ?></td> <td><?php echo $donnees2['sortie_stock']; ?></td> </tr> <?php } } ?> </form> </table>
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 11:59
21 sept. 2011 à 11:59
bonjour Alain_42
J'ai dans ma bdd la colonne date_sortie est type DATE, dans ma colonne c'est format us ensuite après echo j'ai ceci:
date debut: 01/09/2011 date fin: 08/09/2011
J'ai dans ma bdd la colonne date_sortie est type DATE, dans ma colonne c'est format us ensuite après echo j'ai ceci:
date debut: 01/09/2011 date fin: 08/09/2011
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
Modifié par bissdebrazza le 21/09/2011 à 12:02
Modifié par bissdebrazza le 21/09/2011 à 12:02
bah voila,le format est en fr et dans la BDD en us,normal qu'il ne t'affiche rien.tu dois envoyer dans ta BDD la date en format US afin que la comparaison se fasse
«Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
Jean-Jacques ROUSSEAU
«Il faut avoir déjà beaucoup appris de choses pour savoir demander ce qu'on ne sait pas.»
Jean-Jacques ROUSSEAU
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 12:02
21 sept. 2011 à 12:02
comment je dois faire?????
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2011 à 12:07
21 sept. 2011 à 12:07
au format US c a d 2009-09-15
donc tu dois transformer tes dates debut et fin pour qu'elle soient au même format comme tu as fiat dans un post plus haut
donc tu dois transformer tes dates debut et fin pour qu'elle soient au même format comme tu as fiat dans un post plus haut
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 12:10
21 sept. 2011 à 12:10
comme ceci !!!
$to_date = explode("/", $date_debut);
$date_debut = $to_date[2]."-".$to_date[1]."-".$to_date[0];
$to_date = explode("/", $date_fin);
$date_fin = $to_date[2]."-".$to_date[1]."-".$to_date[0];
mais cela ne fonctionne pas
$to_date = explode("/", $date_debut);
$date_debut = $to_date[2]."-".$to_date[1]."-".$to_date[0];
$to_date = explode("/", $date_fin);
$date_fin = $to_date[2]."-".$to_date[1]."-".$to_date[0];
mais cela ne fonctionne pas
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2011 à 13:49
21 sept. 2011 à 13:49
est ce que les echo date_debut et fin sont bien ùaintenant au format mysql
et essayes avec la requette comme ça:
et essayes avec la requette comme ça:
$requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE date_sortie BETWEEN ".$date_debut." AND ".$date_fin." AND uf='$uf' ORDER BY date_sortie
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 13:59
21 sept. 2011 à 13:59
non car je ne sais pas comment faire j'ai essayé le code du post où je te posais la question si c'était dans ce style..mais cela ne marche pas..
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 14:27
21 sept. 2011 à 14:27
j'ai fait ceci pour avoir mon echo date debut et fin en mysql
et ca :
date debut: 2011-09-01 date fin: 2011-09-08 mais toujours pas de lignes
<?php function convertionDate($dateEur){ $rsl = explode ('/',$dateEur); $rsl = array_reverse($rsl); return implode($rsl,'-'); } //gestion de la ligne selectionnée if (isset($_POST['uf'])) {$uf=$_POST['uf']; } else {$uf="";} if (isset($_POST['service'])) {$v_service=$_POST['service']; } else {$v_service="";} ?>
et ca :
<?php if (isset($_POST['date_debut']) and isset($_POST['date_fin'])) { $date_debut=convertionDate($_POST['date_debut']); $date_fin=convertionDate($_POST['date_fin']); echo "date debut: ".$date_debut; echo " date fin: ".$date_fin; $requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE date_sortie BETWEEN ".$date_debut." AND ".$date_fin." and uf='$uf' order by date_sortie "; $req2 = mysql_query($requete2) or die( mysql_error() ) ; while ($donnees2=mysql_fetch_array($req2)) { ?> <tr> <td height="22"><?php echo $donnees2['uf']; ?></td> <td><?php echo $donnees2['service']; ?></td> <td><?php echo $donnees2['cartouche']; ?></td> <td><?php echo $donnees2[' date_sortie']; ?></td> <td><?php echo $donnees2['sortie_stock']; ?></td> </tr> <?php } } ?>et dans mon echo j'ai cela :
date debut: 2011-09-01 date fin: 2011-09-08 mais toujours pas de lignes
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 sept. 2011 à 15:08
21 sept. 2011 à 15:08
essaye comme ça:
et fais un petit echo de $uf pour voir si il correspond bien a la colonne dans la BDD
$requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE date_sortie BETWEEN '".$date_debut."' AND '".$date_fin."' and uf='".$uf."' order by date_sortie
et fais un petit echo de $uf pour voir si il correspond bien a la colonne dans la BDD
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 15:24
21 sept. 2011 à 15:24
j'ai mis echo '$uf'; ici
et j'ai en retour une ligne vide qui s'affiche
$req2 = mysql_query($requete2) or die( mysql_error() ) ; while ($donnees2=mysql_fetch_assoc($req2)) echo '$uf'; { ?>
et j'ai en retour une ligne vide qui s'affiche
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
21 sept. 2011 à 16:03
21 sept. 2011 à 16:03
j'ai trouvé la solution en faîte dans ma requête il y avait un souci dans la condition where uf=$uf avec déclaration de variable donc en enlevant la déclaration et cette condition maintenant j'ai le résultat voulu...
Merci à vous deux de m'avoir aider
Merci à vous deux de m'avoir aider
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
21 sept. 2011 à 16:07
21 sept. 2011 à 16:07
ouf,très content que ce problème trouve une solution.n'hésite pas à revenir en cas de besoin!
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
22 sept. 2011 à 10:53
22 sept. 2011 à 10:53
Bonjour
J'ai crié victoire trop vite car je me suis rendu compte en testant qu'il ne tenait pas compte de ma liste déroulante..je m'explique en enlevant dans le where uf='$uf', effectivement cela me récupérais la plage de date mais cela me récupère aussi tous les services par rapport à cette plage enfin de compte je n'ai même pas besoin de faire de sélection dans la liste déroulante car ce n'est que mes champs date qui sont pris en compte...et quand je remets cette condition dans ma requête je n'ai plus de lignes qui s'affichent..je deviens dingue, selon comme je code soit choix par liste et cela m'affiche le service avec toutes les dates donc non plage soit par champs dates et j'ai tous la plage date mais avec tous les services...je peux l'un ou l'autre mais pas les deux en même temps ..Au secours!!!!
J'ai crié victoire trop vite car je me suis rendu compte en testant qu'il ne tenait pas compte de ma liste déroulante..je m'explique en enlevant dans le where uf='$uf', effectivement cela me récupérais la plage de date mais cela me récupère aussi tous les services par rapport à cette plage enfin de compte je n'ai même pas besoin de faire de sélection dans la liste déroulante car ce n'est que mes champs date qui sont pris en compte...et quand je remets cette condition dans ma requête je n'ai plus de lignes qui s'affichent..je deviens dingue, selon comme je code soit choix par liste et cela m'affiche le service avec toutes les dates donc non plage soit par champs dates et j'ai tous la plage date mais avec tous les services...je peux l'un ou l'autre mais pas les deux en même temps ..Au secours!!!!
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
22 sept. 2011 à 11:05
22 sept. 2011 à 11:05
Salut!
j'avais déjà bu le champagne!!! bref,bien faisons un test:
comme pour les dates,fais un echo de $uf pour voir ce que cette variable contient à l'envoi.
j'avais déjà bu le champagne!!! bref,bien faisons un test:
comme pour les dates,fais un echo de $uf pour voir ce que cette variable contient à l'envoi.
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
22 sept. 2011 à 11:13
22 sept. 2011 à 11:13
Tu as pris un peu d'avance pour le champagne..si nous y arrivons ,je t'envoye la caisse... c'est mieux..lol
Bon, j'ai fait echo "uf: ".$uf; après mes variables et rien ne se passe
Bon, j'ai fait echo "uf: ".$uf; après mes variables et rien ne se passe
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
22 sept. 2011 à 11:22
22 sept. 2011 à 11:22
Je reprends ton code
donc tu me dis que ça ne t'affiche rien au niveau de UF,c'est bien ça?
Merci pour la caisse,je l'attends
<?php if (isset($_POST['date_debut']) and isset($_POST['date_fin'])) { $date_debut=convertionDate($_POST['date_debut']); $date_fin=convertionDate($_POST['date_fin']); echo "date debut: ".$date_debut; echo " date fin: ".$date_fin; echo " UF: ".$uf; $requete2 = "SELECT uf,service,cartouche,sortie_stock,date_sortie FROM servcart WHERE date_sortie BETWEEN ".$date_debut." AND ".$date_fin." and uf='$uf' order by date_sortie "; $req2 = mysql_query($requete2) or die( mysql_error() ) ; while ($donnees2=mysql_fetch_array($req2)) { ?> <tr> <td height="22"><?php echo $donnees2['uf']; ?></td> <td><?php echo $donnees2['service']; ?></td> <td><?php echo $donnees2['cartouche']; ?></td> <td><?php echo $donnees2[' date_sortie']; ?></td> <td><?php echo $donnees2['sortie_stock']; ?></td> </tr> <?php } } ?>
donc tu me dis que ça ne t'affiche rien au niveau de UF,c'est bien ça?
Merci pour la caisse,je l'attends
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
Modifié par fauve1512 le 22/09/2011 à 11:24
Modifié par fauve1512 le 22/09/2011 à 11:24
oui...pas d'echo rien..il me faudra ton adresse pour la livraison..lol
bissdebrazza
Messages postés
2065
Date d'inscription
vendredi 29 juin 2007
Statut
Contributeur
Dernière intervention
7 décembre 2017
712
22 sept. 2011 à 11:54
22 sept. 2011 à 11:54
si rien ne s'affiche,donc ta variable n'est pas postée.vérifie bien la déclaration de tes variables.
pour l'adresse de livraison,je te l'envoyerai en MP quand tout sera ok (je sent que ça va marcher).
pour l'adresse de livraison,je te l'envoyerai en MP quand tout sera ok (je sent que ça va marcher).
fauve1512
Messages postés
206
Date d'inscription
mercredi 7 septembre 2011
Statut
Membre
Dernière intervention
6 décembre 2011
1
22 sept. 2011 à 12:00
22 sept. 2011 à 12:00
j'ai déclaré ainsi
if (isset($_POST['date_debut']) and isset($_POST['date_fin'])and isset($_POST['uf'])) {
$date_debut=convertionDate($_POST['date_debut']);
$date_fin=convertionDate($_POST['date_fin']);
$uf=$_POST['uf'];
je ne vois pas comment les déclarer différamment
if (isset($_POST['date_debut']) and isset($_POST['date_fin'])and isset($_POST['uf'])) {
$date_debut=convertionDate($_POST['date_debut']);
$date_fin=convertionDate($_POST['date_fin']);
$uf=$_POST['uf'];
je ne vois pas comment les déclarer différamment