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
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 :
<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

145 réponses

bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 11:38
le résultat de cette requête t'affiche rien?ou te renvoi une erreur?
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 11:50
cela ne m'affiche pas d'erreur et toutes les lignes...
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 11:52
pas d'erreur,donc requête bonne.tes dates en BDD sont en US ou en Français?fait un print_r() au début de ta requête en remplacement de var_dump()
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 12:02
dans bdd en US... et pour print_r() je ne connaissais pas donc j'ai fais ceci (je ne sais pas si c'est juste ??
print_r($requete = "SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '$date_debut' and '$date_fin'");
et j'ai des erreurs

Undefined index: date_debut dans C: \ Program Files \ wamp \ www \ gestioncart \ php \ statistiques.php sur la ligne 20

Notice: Undefined index: date_fin in C:\Program Files\wamp\www\gestioncart\php\statistiques.php on line 21

en plus des erreurs j'ai ma requête d'afficher ainsi
SELECT date_sortie FROM servcart WHERE date_sortie BETWEEN '' and '' et mon tableau avec les lignes
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 12:07
non print_r() c au début du script et non au début de la requête je voulais dire (mes excuses).
<?php
print_r();
le code php

?>
c'est juste pour afficher les valeurs envoyées.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 12:26
pas de soucis...dans print_r(); je rentre quoi comme paramètre car sans paramètre cela me fait une erreur
Warning: print_r() expects at least 1 parameter, 0 given in C:\Program Files\wamp\www\gestioncart\php\statistiques.php on line 16
à l'ouverture de ma page
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 12:29
zut j'ai encore oublié!
print_r($_post);
0
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 15/09/2011 à 12:37
lol..
donc à l'ouverture de la page ,j'ai ceci à côté des champs dates :Array ( )
je clique sur le 1ier champs et voilà ce qu'il y a: NaN/NaN/NaN et le 2ième champs idem
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 12:40
pause repas..
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 12:41
les dates ne sont pas bien transmises.petit test,est-il possible que tu entres les dates à la main?si oui,essaye de les entrer mais au format US et lance la recherche.
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 13:28
ok
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
15 sept. 2011 à 13:33
j'ai fais le test et cela me renvoye toutes les lignes et non la sélection des dates
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
15 sept. 2011 à 16:47
ok,vraiment bizarre tout.bien j'ai vu dans ton formulaire où tu mets ceci
name="DATE_SORTIE"
au niveau du nom que tu donne à tes input,essai de mettre en minuscule (je ne pense pas que ça soit la bas,mais bon..) et teste en mettant toujours la date à la main et au format US.
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
16 sept. 2011 à 09:03
Bonjour,
je les avais déjà mis en miniscules...
0
fauve1512 Messages postés 206 Date d'inscription mercredi 7 septembre 2011 Statut Membre Dernière intervention 6 décembre 2011 1
20 sept. 2011 à 13:38
voilà j'ai fait un changement sur les input name que j'ai nommé pareil que mes variables ce qui donne ceci :
<label>Entre : </label>   
      <input type="text" id="datepicker" name="date_debut" value=""/>    
      <label>Et : </label>
      <input type="text" id="datepicker1" name="date_fin"  value=""/>    
      <label></label>


mes variables et traitement :
<?php
	   var_dump($_POST);
	  if (isset($_POST['date_debut'])               
		and isset($_POST['date_fin']))
		 {                        
		$date_debut=$_POST['date_debut'];   
		$date_fin=$_POST['date_fin'];						

       $requete3 = "SELECT DATE_FORMAT(date_sortie,'%d/%m/%Y') AS DateTemps FROM servcart WHERE date_sortie BETWEEN '$date_debut' AND '$date_fin' and uf='uf'";
        $req3 = mysql_query($requete3) or die( mysql_error() ) ; 
		 }
		 else{
              echo'<span style="color:red;">quelle merdouille.<br /><br/></span>';
            }		
    ?>      

et quand j'ouvre ma page ime met en direct l'echo MERDOUILLE..donc une petite avancée mais cela ne suffit pas...grrrrrrrrrrrrrr
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
20 sept. 2011 à 17:06
et c'est quoi l'objectif de "merdouille"? de plus,enleve aussi value="" de tes input.ça ne sert à rien de les laisser vide.
0
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 à 10:45
bonjour..
J'ai repris tout mon code(lignes par lignes et indenté comme il faut) première erreur je fais une requête au niveau de mes champs dates qui n'est pas du tout utile.. puisque ce ne sont que des champs text..ensuite j'ai reporté en la modifiant sur la fin de mon code au moment de l'affichage et je comprends mieux pourquoi j'avais toutes les lignes car comme j'avais codé il ne fesait que la recherche sur ma liste déroulante...donc evidemment que mes champs dates n'étaient pas pris en compte..donc maintenant je repart sur quelque chose de plus propre.Donc résultat de tout ceci c'est que quand j'active le bouton rechercher ,il recherche mais plus rien en affichage.. voici le code :
<?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 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>
       </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'];						    		             
		
       $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>
0
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 à 10:58
Bonjour!
sur phpmyadmin la requête fonctionne? autre chose,vérifie bien (j'insiste) le format de tes dates (dates envoyés vers la BDD et les dates présente dans la BDD) afin de comparer.
0
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:17
ma requete fonctionne sur phpmyadmin voici le résultat :

id_service uf service sortie_stock cartouche date_sortie
222 4517 Archives 1 1720 2011-09-08
223 4517 Archives 10 343 Couleur 2011-09-07
225 4517 Archives 1 BCI 6 E 520 Cyan 2011-09-01
la date envoyée est en fr et dans ma bdd est en us, j'ai écris mes dates en us à la main dans mes champs et pas d'affichage
0
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 à 11:24
bizarre ton problème. je ne comprend pas quand tu dis que la date envoyée est en FR.sur ton datepicker,tu récupère la date en fr ou us?et si tu ne tape pas la date à la main,il se passe aussi rien à l'affichage?
0
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:22
J'ai mis ceci dans mon code:

$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 pas de changement..
0
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:35
j'ai tapé à la main en format us et mes dates picker ont pour affichage dans mes champs date fr je viens de faire un echo de ma requête et cela me renvoye une ligne vide
0
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:36
j'ai envoyé ma réponse trop vite voilà la fin de mon post avant ...tapé à la main en us ou prendre les champs en fr c'est même résultat
0