Algo en PHP
Résolu/Fermé
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
-
19 févr. 2010 à 16:45
0z0z Messages postés 108 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 18 mai 2010 - 24 févr. 2010 à 09:14
0z0z Messages postés 108 Date d'inscription mardi 9 février 2010 Statut Membre Dernière intervention 18 mai 2010 - 24 févr. 2010 à 09:14
29 réponses
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
5
23 févr. 2010 à 12:00
23 févr. 2010 à 12:00
Ahhhhh ca marche !!!!!
Tout ca pour une histoire de majuscule-minuscule :/
Ce qui est bizarre quand même c'est que ca marchait très bien avec la majuscule sur mon pc...
Fin bon, le principal c'est que ca marche :)
Merci bien Alain_42.
Tout ca pour une histoire de majuscule-minuscule :/
Ce qui est bizarre quand même c'est que ca marchait très bien avec la majuscule sur mon pc...
Fin bon, le principal c'est que ca marche :)
Merci bien Alain_42.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 févr. 2010 à 12:10
23 févr. 2010 à 12:10
Par contre ça ne marchera plus sur ton PC, c'est le cas chez moi
car bizarrement la date du fichier csv 11/02/10 ets transformée lors de la lecture par php en 11/02/2010
donc avec la modif Y en y ça ne marche plus
expliquation:
dans un fichier excel ce qui est affiché n'est pas exactement ce qui est contenu dans la cellule
pour une date, tu peux afficher 11/02/10 ou 11/02/2010 la valeur contenue dans la cellule est la même
d'ou l'utilité des "
car bizarrement la date du fichier csv 11/02/10 ets transformée lors de la lecture par php en 11/02/2010
donc avec la modif Y en y ça ne marche plus
expliquation:
dans un fichier excel ce qui est affiché n'est pas exactement ce qui est contenu dans la cellule
pour une date, tu peux afficher 11/02/10 ou 11/02/2010 la valeur contenue dans la cellule est la même
d'ou l'utilité des "
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 févr. 2010 à 13:09
23 févr. 2010 à 13:09
je reviens
donc pour contourner le pb et que ça marche dans tous les cas:
il faut adapter cette partie:
ainsi si php transforme pas 10 en 2010 on rajoute 20 devant sinon on laisse 2010
et remettre le Y, pour comparer dans tous les cas avec les 4 ch
donc pour contourner le pb et que ça marche dans tous les cas:
il faut adapter cette partie:
//timestamp de la datea $datea = explode("/", $colonne[17]); if(strlen($datea[2])<4){ //si annee au format aa $dateb = mktime(0, 0, 0, $datea[1], $datea[0], '20'.$datea[2]); }else{ //si annee au format aaaa $dateb = mktime(0, 0, 0, $datea[1], $datea[0], $datea[2]); } //datea dans l'array $array_datesA[]=$dateb;
ainsi si php transforme pas 10 en 2010 on rajoute 20 devant sinon on laisse 2010
et remettre le Y, pour comparer dans tous les cas avec les 4 ch
//lignes des donnees correspondant à cette date foreach($conteneur as $cle2=>$value2){ ////TEST echo 'Date dans l\'array des dates: '.date('d/m/Y',$value).' Date dans le conteneur: '.trim($value2[5]).'<br />'; ///// if(date('d/m/Y',$value) == trim($value2[5])){ //trim pour supprimer les espaces eventuels qui trainent en debut et fin echo '<tr>'; echo '<td>'.$value2[0].'</td><td>'.$value2[1].'</td><td>'.$value2[2].'</td><td>'.$value2[3].'</td><td>'.$value2[4].'</td><td>'.$value2[5].'</td>'; echo '</tr>'; } /////// }
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
5
23 févr. 2010 à 14:00
23 févr. 2010 à 14:00
Exact ca ne marche pas sur mon pc avec le y au lieu du Y.
Mais le code qu tu as mit si dessus ne marche pas plus. Le test renvoi bien les valeurs mais les tableaux sont toujours vide :/
Mais le code qu tu as mit si dessus ne marche pas plus. Le test renvoi bien les valeurs mais les tableaux sont toujours vide :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
5
23 févr. 2010 à 14:23
23 févr. 2010 à 14:23
Bon finalement dans mon fichier csv j'ai modifier les paramètres des cellules contenant la date.
Comme tu l'as dit, ce qui est affiché dans une cellule n'est pas forcément ce que contient la cellule.
Je lui ai donc dit d'afficher en format jj/mm/aaaa au lieu de jj/mm/aa.
Du coup sur le pc du bureau ca fonctionne bien avec date('d/m/Y') mais plus avec date('d/m/y').
Pareil pour mon pc.
Je vais donc opter pour le date('d/m/Y'). C'est le seul qui marche pour les deux...pour le moment du moins.
Comme tu l'as dit, ce qui est affiché dans une cellule n'est pas forcément ce que contient la cellule.
Je lui ai donc dit d'afficher en format jj/mm/aaaa au lieu de jj/mm/aa.
Du coup sur le pc du bureau ca fonctionne bien avec date('d/m/Y') mais plus avec date('d/m/y').
Pareil pour mon pc.
Je vais donc opter pour le date('d/m/Y'). C'est le seul qui marche pour les deux...pour le moment du moins.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 févr. 2010 à 17:07
23 févr. 2010 à 17:07
oui sinon opte pour la modif que je t'ai fait en dernier et qui adapte en fonction du format
if(strlen(......
if(strlen(......
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
5
23 févr. 2010 à 17:15
23 févr. 2010 à 17:15
J'ai essayé avec la fonction que tu as mise mais les tableaux sont toujours vide....
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 févr. 2010 à 17:36
23 févr. 2010 à 17:36
attention il faut la fonction strlen et plus bas dans le script
date('d/m/Y....
chez moi ça marche comme ça
si pb laisses les echo pour voir
date('d/m/Y....
chez moi ça marche comme ça
si pb laisses les echo pour voir
0z0z
Messages postés
108
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
18 mai 2010
5
24 févr. 2010 à 09:14
24 févr. 2010 à 09:14
J'ai bien gardé la fonction strlen et la date('d/m/Y') mais ca ne fonctionnait pas jusqu'à ce que je change les paramètres des cellules. Maintenant ca fonctionne.