Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1511 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec un array

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme avec un array

n°1750652
mozvillat
Posté le 24-06-2008 à 14:11:07  profilanswer
 

Bonjour à tous,
 
Je viens de trouver un petit script me permettant de trouver les dates comprises en tre 2 dates données.
Jusque la tout va bien.
Par contre, je dois recuperer les valeurs des dates contenues dans le tableau afin de les comparer avec d'autres dates (provenant d'une bdd).
 
Apres avoir cherché, j'avoue etre paumé et n'arrive pas à extraire que les dates de ce tableau...
 
Si quelqu'un pouvait m'apporter un peu d'aide...
 
voici le code permettant de recuperer les dates :
 

Citation :


<?php
/**
* function getDatesBetween
* renvoie un tableau contenant toutes les dates, jour par jour,
* comprises entre les deux dates passées en paramètre.
* NB : les dates doivent être au format aaaa-mm-dd (mais on peut changer le parsing)
* @param (string) $dStart : date de départ
* @param (string) $dEnd : date de fin
* @return (array) aDates : tableau des dates si succès
* @return (bool) false : si échec
*/
function getDatesBetween ($dStart, $dEnd) {
    $iStart = strtotime ($dStart);
    $iEnd = strtotime ($dEnd);
    if (false === $iStart || false === $iEnd) {
        return false;
    }
    $aStart = explode ('/', $dStart);
    $aEnd = explode ('/', $dEnd);
    if (count ($aStart) !== 3 || count ($aEnd) !== 3) {
        return false;
    }
    if (false === checkdate ($aStart[1], $aStart[2], $aStart[0]) || false === checkdate ($aEnd[1], $aEnd[2], $aEnd[0]) || $iEnd <= $iStart) {
        return false;
    }
    for ($i = $iStart; $i < $iEnd + 86400; $i = strtotime ('+1 day', $i) ) {
        $sDateToArr = strftime ('%d/%m/%Y', $i);
        $sYear = substr ($sDateToArr, 6, 4);
        $sMonth = substr ($sDateToArr, 3, 2);
        $aDates[$sYear][$sMonth][] = $sDateToArr;
     
    }
     
     
    if (isset ($aDates) && !empty ($aDates)) {
        return $aDates;
    } else {
        return false;
    }
}
 
$aDates = getDatesBetween ('2008/09/01', '2008/10/31');
echo '<pre>', print_r ($aDates), '</pre>';
 
echo $aDates[$val];
 
?>


 
 
Merci d'avanace pour votre aide !

mood
Publicité
Posté le 24-06-2008 à 14:11:07  profilanswer
 

n°1750716
mozvillat
Posté le 24-06-2008 à 15:24:19  profilanswer
 

Je penses que je vais faire autrement....

n°1751346
nicogoss
Sex, accordéon et alcool
Posté le 25-06-2008 à 20:51:01  profilanswer
 

As-tu réussi à te dépatouiller autrement ?


---------------
Nord-des-Landes.com: portail des habitants, commerçants et touristes du Pays Landes Nature Cote d'Argent; évènements, petites annonces...
n°1751368
wrksx
Posté le 25-06-2008 à 21:25:01  profilanswer
 

pour la fin du script:
 
echo '<pre>';
print_r($aDates);
echo '</pre>';
 
en effet print_r envoi direct vers la sortie, c'est "comme" echo...
 
voici un moyen pour parcourir le tableau:
 

Code :
  1. foreach($aDates as $annees) {
  2. foreach($annees as $mois) {
  3.  foreach ($mois as $jours) {
  4.  echo $jours,'<br />';
  5.  }
  6. }
  7. }


 
ca liste toutes les dates... remplace le echo $jours; par ce que tu veu
 
ne sachant pas ce que tu veu en faire c difficile d'en dire plus.


Message édité par wrksx le 25-06-2008 à 21:26:10
n°1754641
mozvillat
Posté le 02-07-2008 à 17:21:48  profilanswer
 

merci wrksx,
 
j'ai proceder autrement.
j'ai converti mes dates en timestamp, et je fais une comparaison entre ma date du jour et celle de debut et de fin.
 
De cette maniere, je sais si l'on est dans la periode donnee.
 
merci bcp pour ton aide !

n°1754868
jeca
Posté le 03-07-2008 à 08:26:13  profilanswer
 

Bonjour,
 
Je ne sais pas ce que tu as trouvé comme solution, mais il y a ça :

Code :
  1. <?php 
  2.   function getDatesBetween ($dStart, $dEnd)
  3.   {
  4.     $tsStart = strtotime($dStart);
  5.     $tsEnd = strtotime($dEnd);
  6.     while ($tsStart <= $tsEnd)
  7.     {
  8.       $jour[] = date('d/m/Y', $tsStart);
  9.       $tsStart = strtotime('+1 day', $tsStart);
  10.     }
  11.     return $jour;
  12.   }
  13.  
  14.   $aDates = getDatesBetween ('2007/12/01', '2008/03/02');
  15.   echo '<pre>', print_r ($aDates), '</pre>';
  16. ?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme avec un array

 

Sujets relatifs
Problème sur ma page de téléchargementProblème d'ajout dans un array
Problème de tableau arrayProblème avec mysql_fetch_array()
Perl :: probleme d'array et de length [resolu]PHP probleme easyphp et mysql_fetch_array
probleme de recherche dans un arrayproblème avec array();
Probleme avec array_diff[PHP] Problème avec Array_push / Array_merge
Plus de sujets relatifs à : Probleme avec un array


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR