problème tout bête affichage variable tableau

Eléphant du PHP | 73 Messages

18 juil. 2011, 09:31

bonjour,

j'ai un petit soucis avec quelque-chose que je n'arrive pas à faire et je sollitice votre aide.

j'ai un tableau avec les mois :
$Mois = array();
$Mois[01] = 'Janvier';
$Mois[02] = 'Fevrier';
$Mois[03] = 'Mars';
$Mois[04] = 'Avril';
$Mois[05] = 'Mai';
$Mois[06] = 'Juin';
$Mois[07] = 'Juillet';
$Mois[08] = 'Aout';
$Mois[09] = 'Septembre';
$Mois[10] = 'Octobre';
$Mois[11] = 'Novembre';
$Mois[12] = 'Decembre';
puis, ensuite j'ai mon code, et dedans il y a une boucle qui prend des valeurs en base de données, simplifié ça donne ça :
while ($mois = mysql_fetch_assoc($requete_exec)) {
$ec = $mois['systechpatch_month'];
echo $ec;
}
actuellement, systechpatch_month vaut 07 dans la base de données.
$ec affiche donc 07 dans l'echo.

je voudrais "remplacer" ce 07 par sa valeur dans le tableau, donc $Mois[07].

donc au lieu de faire un echo $ec, je suppose qu'il faut faire un truc du genre :
echo $Mois[$ec];
pour m'afficher la valeur de $Mois[07], mais ça ne fonctionne pas, j'ai essayé avec un $Mois['$ec'], pareil.
bref si vous avez la solution :) je suis preneur

merci !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 juil. 2011, 11:13

C'est parce que tes index sont numérique au lieu d'être des chaines... du coup pour php 01 équivaut à 1, et quand tu le compares à la chaine "01" de ta date, il n'y a pas de correspondance (ça doit juste fonctionner pour les 3 derniers mois)

Transforme tes index en chaine, ça devrait résoudre le problème :)
$Mois = array();
$Mois['01'] = 'Janvier'; // '01' au lieu de 01
...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 73 Messages

18 juil. 2011, 11:57

ahhh c'est vrai ! je n'avais pas du tout pensé à ça, merci bcp :)

excellent ça fonctionne, merci pour la réponse rapide.

bonne journée :P