recherche de fichiers par interval de dates

recherche de fichiers par interval de dates - PHP - Programmation

Marsh Posté le 19-02-2009 à 15:10:16    

rebonjour
 
1/je tiens tout d'abord a m'excuser pour mes ecrits dans cette demande d'aide:
http://forum.hardware.fr/hfr/Progr [...] 1230_1.htm
je me suis mal fait comprendre
 
2/lorsque je demande un code je voulais en fait demander comment faire pour y arriver  j'ai essayer quelque chose donc j'ai cree un code en php que voici qui ne me donne pas ce que je veux lorsque je mets comme 1ere date 011208 ET 2eme date 311208 (ce qui veut dire que je veux les fichiers compris entre ces deux dates)
il me donne des fichiers datant du 241108 ce qui est logique  en suivant le code mais moi je ne veux que les fichiers dont la date est comprise entre 011208 et 311208
 

Code :
  1. <form action= "new2.php" method="post">
  2.       <fieldset>
  3.          <legend>Recherche des fichiers</legend>
  4.  
  5.              <label > Corps administratif     : </label ><input type ="text" name= "section" value= "<?php echo $_POST['section']; ?>"/> <br/>
  6.              <label > Type du courrier: </label > <input type ="text" name= "type" value= "<?php echo $_POST['type']; ?>" /><br/>
  7.  
  8.              <label > Reference du courrier: </label ><input type ="text" name= "reference" value= "<?php echo $_POST['reference']; ?>"/><br/>
  9.              <label > Objet du courrier   : </label ><input type ="text" name= "objet" value= "<?php echo $_POST['objet']; ?>"/>   <br/>
  10.             <label > Date du courrier (jjmmaa)   : </label ><input type ="text" name= "date" value= "<?php echo $_POST['date']; ?>"/>   <br/>
  11.             Recherche par date:
  12.              <label > Recherche du courrier par jours (jj)   : </label ><input type ="text" name= "dateApproxiJJ" value= "<?php echo $_POST['dateApproxiJJ']; ?>"/><br/>
  13.              <label > Recherche du courrier par mois (mm)   : </label ><input type ="text" name= "dateApproxiMM" value= "<?php echo $_POST['dateApproxiMM']; ?>"/><br/>
  14.              <label > Recherche du courrier par annees (aa)   : </label ><input type ="text" name= "dateApproxiAA" value= "<?php echo $_POST['dateApproxiAA']; ?>"/><br/>
  15.              RECHERCHE PAR INTERVAL DE DATE:
  16.             1ere date<input  type = "text" name="date1"/>
  17.             2ème date<input type = "text" name = "date2">
  18.              <input type ="submit" name ="validez" value ="validez" />
  19.              <input type ="submit" name ="tous" value ="affichez tous les fichiers PDF" />
  20.  
  21.              <input type="reset" name ="effacez" value="effacez"/>    
  22.         </fieldset>
  23.      </form>                         
  24. </div>
  25.  
  26. <?php
  27.           if (isset($_POST['validez'])){
  28.             
  29.   // une fois validez existe on traite le formulaire en ouvrant le dossier et en entrant dans la fonction
  30.     
  31.              $dossier = 'Courrier/' ;
  32.              $list = scandir($dossier);
  33.              foreach ($list as $chaine) //identique a for mais specifié au tableau, tant que chaque element de la liste est une chaine
  34.                   {
  35.      // on mets les elements de la chaine dans un tableau
  36.                     $divfichier = explode('_',$chaine); //on decoupe les fichiers
  37.                     
  38.                     
  39.     // on met le dernier element de la chaine dans un tableau
  40.     
  41.                     $divfichierdateInterval = explode ('.', $divfichier[4]);
  42.                     
  43.     //creation des variables
  44.                    $dateApproxiJJ = ($_POST['dateApproxiJJ']);
  45.             $dateApproxiMM = ($_POST['dateApproxiMM']);
  46.             $dateApproxiAA = ($_POST['dateApproxiAA']);
  47.             $date1 =  ($_POST['date1']);
  48.             $date =  ($_POST['date']);
  49.                 $date2 = ($_POST['date2']);
  50.                     
  51.     // jeu de majuscule sur les POST et fichiers
  52.  
  53.                     $section = strtoupper($_POST['section']);
  54.                     $type = strtoupper ($_POST['type']);
  55.                    $reference = strtoupper ($_POST['reference']);
  56.                    $objet = strtoupper ($_POST['objet']);
  57.                     $dateApproxiAA = strtoupper ($_POST['dateApproxiAA']);
  58.                     $chaine = strtoupper ($chaine);
  59.  
  60.                     
  61.     //selection de recherche par date
  62.                     
  63.                     $ApproxiJJ = substr($divfichier[4] , 0, 2); // recupere le jour de la date
  64.                     $ApproxiMM = substr($divfichier[4] , 2, 2); // recupere le mois de la date
  65.                     $ApproxiAA = substr($divfichier[4] , 4, 2); // recupere l'année de la date
  66.                     //les jours
  67.                    $date1JJ = substr($date1,0,2);
  68.                     $date2JJ = substr($date2,0,2);
  69.                     $divfichierdateIntervalJJ = substr($divfichierdateInterval[0],0,2);
  70.                     //les mois
  71.                    $date1MM = substr($date1,2,2);
  72.                     $date2MM = substr($date2,2,2);
  73.                     $divfichierdateIntervalMM = substr($divfichierdateInterval[0],2,2);
  74.                     //les annees
  75.                     $date1AA = substr($date1,4,2);
  76.                     $date2AA = substr($date2,4,2);
  77.                     $divfichierdateIntervalAA = substr($divfichierdateInterval[0],4,2);
  78.                    
  79.  
  80.  
  81.   // on formalise les accents
  82.                     $chaine = strtr ($chaine, "é,è,ë,â,ä,à,ï,î,ô,ö,û,ü", "e,e,e,a,a,a,i,i,o,o,u,u" );
  83.                     
  84.     // on comparre les POSTS au fichiers
  85.                 
  86.                     if ((preg_match('`'.$section.'`', $divfichier[0])) AND
  87.                         (preg_match('`'.$type.'`', $divfichier[1]))  AND
  88.                             (preg_match('`'.$reference.'`', $divfichier[2]))AND
  89.                                 (preg_match('`'.$objet.'`', $divfichier[3])) AND
  90.                                     (preg_match('`'.$date.'`', $divfichier[4])) AND
  91.                                         (preg_match('`'.$dateApproxiJJ.'`', $ApproxiJJ)) AND
  92.                                         (preg_match('`'.$dateApproxiMM.'`', $ApproxiMM)) AND
  93.                                         (preg_match('`'.$dateApproxiAA.'`', $ApproxiAA)) AND
  94.                                         (($date1JJ <= $divfichierdateIntervalJJ && $divfichierdateIntervalJJ>= $date2JJ) AND
  95.                                         ($date1MM <= $divfichierdateIntervalMM && $divfichierdateIntervalMM>= $date2MM) AND
  96.                                         ($date1AA <= $divfichierdateIntervalAA && $divfichierdateIntervalAA>= $date2AA)))
  97.                        {echo '<a href="'.$dossier.$chaine.'">'.$chaine.'</a><br/>';}
  98.                   }              }                                         
  99. ?>                   
  100. </div>
  101. </body>
  102. </html>


 
ce code n'est pas encore fini en effet voir ici
http://forum.hardware.fr/hfr/Progr [...] 0699_2.htm
j'ai ce souci avec "strpos" et je ne trouve pas l'erreur...
 
voila j'espere que maintenant je suis conforme excusez moi encore et derniere question
Pourquoi etre aussi radical :??: , attendez au moins une reponse...
 
merci pour votre aide

Reply

Marsh Posté le 19-02-2009 à 15:10:16   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed