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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de date [résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de date [résolu]

n°1855244
alx067
Posté le 25-02-2009 à 21:11:55  profilanswer
 

Je crée un site PHP (je suis débutant) et j'obtiens une date sous le format JJ/MM/AAAA via un formulaire.
Cette date est utilisée sous le format JJ/MM/AAAA puis JJ mmmmmmmm AAAA, il faut donc la convertir en lettres...
Ce qui est réalisé à partir des lignes de codes suivantes (cependant cela ne fonctionne pas pour les mois de aout et septembre (08 & 09)!!!!!!!
 
Que dois-je faire ???
 

Citation :

$fp = fopen("$annee-$mois-$jour/Date_de_l_archive_en_lettre.txt",a);
 
If ($mois == 01)
 $mois_en_lettre = "janvier";
If ($mois == 02)
 $mois_en_lettre = "février";
If ($mois == 03)
 $mois_en_lettre = "mars";
If ($mois == 04)
 $mois_en_lettre = "avril";
If ($mois == 05)
 $mois_en_lettre = "mai";
If ($mois == 06)
 $mois_en_lettre = "juin";
If ($mois == 07)
 $mois_en_lettre = "juillet";
If ($mois == 08)
 $mois_en_lettre = "aout";
If ($mois == 09)
 $mois_en_lettre = "septembre";
If ($mois == 10)
 $mois_en_lettre = "octobre";
If ($mois == 11)
 $mois_en_lettre = "novembre";
If ($mois == 12)
 $mois_en_lettre = "décembre";
 
fputs($fp, "$jour $mois_en_lettre $annee"."\r\n" );
fclose($fp);


Message édité par alx067 le 26-02-2009 à 00:07:47
mood
Publicité
Posté le 25-02-2009 à 21:11:55  profilanswer
 

n°1855254
toughzaa
Posté le 25-02-2009 à 21:44:20  profilanswer
 

Tout d'abord, je crois qu'il vaut mieux que tu utilises le fonction switch au lieu de 12 if :)
Pour le reste, désolé je ne peux pas t'aider

n°1855258
alx067
Posté le 25-02-2009 à 21:52:15  profilanswer
 

D'accord je vais essayer la fonction switch mais cela ne répond pas à la question ???

n°1855268
alx067
Posté le 25-02-2009 à 22:07:06  profilanswer
 

J'ai testé le fonction switch
1. Elle est plus longue...
2. Même problème... les valeurs pour aout et septembre renvoie une erreur (08 & 09)...
 

Citation :

$fp = fopen("$annee-$mois-$jour/Date_de_l_archive_en_lettre.txt",a);
 
switch ($mois) {
 case 01:    
 $mois_en_lettre = "janvier";
 break;
 case 02:    
 $mois_en_lettre = "février";
 break;
 case 03:    
 $mois_en_lettre = "mars";
 break;
 case 04:    
 $mois_en_lettre = "avril";
 break;
 case 05:    
 $mois_en_lettre = "mai";
 break;
 case 06:    
 $mois_en_lettre = "juin";
 break;
 case 07:    
 $mois_en_lettre = "juillet";
 break;
 case 08:    
 $mois_en_lettre = "août";
 break;
 case 09:    
 $mois_en_lettre = "septembre";
 break;
 case 10:    
 $mois_en_lettre = "octobre";
 break;
 case 11:    
 $mois_en_lettre = "novembre";
 break;
 case 12:    
 $mois_en_lettre = "décembre";
 break;
 default:    
 echo "Vous avez entré une valeur erronée...";}
 
fputs($fp, "$jour $mois_en_lettre $annee"."\r\n" );
fclose($fp);


Message édité par alx067 le 25-02-2009 à 22:07:25
n°1855282
alx067
Posté le 25-02-2009 à 22:30:26  profilanswer
 

Personne ???  

n°1855298
FlorentG
Posté le 25-02-2009 à 23:04:20  profilanswer
 

Si tu préfixe les nombres par 0, alors ça veut dire qu'ils sont en octal. Et en octal, 8 et 9 n'existent pas. Vire tous les zéros (qui d'ailleurs ne servent à rien) :)

n°1855304
Elmoricq
Modérateur
Posté le 25-02-2009 à 23:12:56  profilanswer
 

J'ai modifié le titre du topic, "A lire..." étant évidemment hors charte.

n°1855336
alx067
Posté le 26-02-2009 à 00:07:18  profilanswer
 

Merci, FlorentG. Maintenant j'ai la réponse et cela fonctionne.  :)  
 
Pour le 0, j'ai ajouté une série de If qui ajoute le zéro (étant utile pour les classer dans l'ordre alphabétique).
 
Mais j'ai pas trop compris cette histoire d'octal...


Message édité par alx067 le 26-02-2009 à 00:08:54
n°1855338
Elmoricq
Modérateur
Posté le 26-02-2009 à 00:10:22  profilanswer
 

octal = base 8
 
Un nombre en dur qui commence par 0 est considéré comme étant en base 8.

n°1855346
FlorentG
Posté le 26-02-2009 à 00:19:16  profilanswer
 

On utilise traditionnellement la base 10, donc dix signes (0123456789)
 
On commence à 0, jusqu'à 9. Arrivé au bout, on recommence en rajoutant un chiffre : 7, 8, 9, 10, 11, 12
 
Donc en base 8, on utilise 8 signes (01234567) :
0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, etc.

mood
Publicité
Posté le 26-02-2009 à 00:19:16  profilanswer
 

n°1855348
alx067
Posté le 26-02-2009 à 00:22:44  profilanswer
 

Plus que je n'espérais...
:)


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

  Problème de date [résolu]

 

Sujets relatifs
[Résolu]Lecture d'un fichier csvprobleme en c
[Résolu] Problème de décalage de date java sous windows vista[PHP] [RESOLU] problème de filtre sur la date dans requête
probleme de boucle avec une date résoluprobleme avec champ date résolu
[RESOLU]problème de récupération de date[resolu] probleme de requete avec DAY(date) et MONTH(date)
Problème de mise à jour d'une date ! [Résolu][SQL] Requête et date (Problème résolu merci...)
Plus de sujets relatifs à : Problème de date [résolu]


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