Traitement liste contenu d'un champ : Extraction Caractere

Résolu
agenceacapulco Messages postés 41 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 3 octobre 2006 - 30 sept. 2006 à 00:58
agenceacapulco Messages postés 41 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 3 octobre 2006 - 3 oct. 2006 à 16:41
Bonsoir... je suis debutant en php alors soyez indulgent pour la composition du code que je vais vous exposez... lol...



Mon probleme est que les 'nom des fichiers' que comporte mon champs file sont composer de 4 chiffre : les 2 premiers l'année et les deux suivant le mois... ex : 0605.



Je souhaiterais que lorsque j'affiche le contenu de mon champs, il s'affiche 'Mai 2006'... Est ce possible.



Voila le code que j'utilise actuellement pour afficher simplement le contenu de mon champ.



<?php
echo "\";
$col=1;
$image = \"<table width=\\"100\%\\" height=\\"40\\" border=\\"0\\" cellpadding=\\"0\\" cellspacing=\\"10\\" align=\\"right\\">----
&nbsp;, , \";
mysql_select_db(\"$dossier\");
$requete = \"SELECT file FROM $archive ORDER BY file\";
$resultat = mysql_query($requete);
while($res = mysql_fetch_object($resultat))
{
if ($col==1) echo \"----
\";
echo "$image, [
]

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 sept. 2006 à 11:37
Hello,

on va ptête pas utiliser date () pour ça, on va plutôt bricoler...surtout que le bricolage durera jusqu'en 2099, ce qui devrait suffire... ;-). Et que avec le code ci-dessus, tu as besoin de set_locale, ce qui là encore est inutile à mon avis.
Tu te crées un tableau : $aMois array ('01'> 'Janvier', '02' => 'Février' etc...). Tu stockes ton file dans une variable pour plus de facilité :
$sFile = $res -> file;
Piuis tu écris tout simplement :
echo $aMois[$sFile[2].$sFile[3]].' 20'.$sFile[0].$sFile[1];

et pour 0605, tu auras Mai 2006.

C'est du bricolage, mais c'est plus rapide et optimisé, au final, que des appels multiples à date () et à set_locale
3
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
30 sept. 2006 à 01:44
Sael og blesuð

<?php
$date='0605';
$year=substr($date,0,2);
$month=substr($date,2,2);
$time = mktime(0, 0, 0, $month, 1, $year);
$month = date('M', $time);
$year = date('Y', $time);
echo $month ,' - ', $year;
???>

http://fr.php.net/manual/en/function.substr.php
http://fr.php.net/manual/en/function.mktime.php
http://fr.php.net/manual/en/function.date.php

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðssón aka Sjón
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
30 sept. 2006 à 01:50
Sael og blesuð

#<?php
#$date='0605';
#$year=substr($date,0,2);
#$month=substr($date;2,2);
#$time=mktime(0,0,0,$month,1,$year);
#$month=date('M',$time);
#$year=date('Y',$time);
#echo $month,' - ',$year;
#???>

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðssón aka Sjón
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
30 sept. 2006 à 01:51
Sael og blesuð

<?php
$date='0605';
$year=substr($date,0,2);
$month=substr($date;2,2);
$time=mktime(0,0,0,$month,1,$year);
$month=date('M',$time);
$year=date('Y',$time);
echo $month,' - ',$year;
?>

http://fr.php.net/manual/en/function.substr.php
http://fr.php.net/manual/en/function.mktime.php
http://fr.php.net/manual/en/function.date.php

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðssón aka Sjón
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
30 sept. 2006 à 02:05
Sael og blesuð

Je suis persuadé qu il existe mieux que cette méthode :-)

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðssón aka Sjón
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
30 sept. 2006 à 12:08
Sael og blesuð

C est sûr lol :-)

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðssón aka Sjón
0
agenceacapulco Messages postés 41 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 3 octobre 2006
30 sept. 2006 à 14:16
Bonjour et merci pour vos reponse. J'ai essayer d'utiliser celle que malalam m'a proposé.... etant debutant j'ai essayer de faire comme indiquer mais j'ai un message d'erreur... je vous presente mon code... desole par avance...

<?php
echo "\";$aMois array ('01'> 'Janvier', '02' => 'Février', '03' => 'Mars', '04' => 'Avril', '05' => 'Mai', '06' => 'Juin', '07' => 'Juillet', '08' => 'Aout', '09' => 'Septembre', '10' => 'Octobre', '11' => 'Novembre', '12' => 'Decembre');
$col=1;
$image = \"<table width=\\"100\%\\" height=\\"40\\" border=\\"0\\" cellpadding=\\"0\\" cellspacing=\\"10\\" align=\\"right\\">----
&nbsp;, , \";
mysql_select_db(\"$dossier\");
$requete = \"SELECT file FROM $archive ORDER BY file\";
$resultat = mysql_query($requete);
while($res = mysql_fetch_object($resultat))
sFile = $res -> file;
${
if ($col==1)
echo \"----
\";
echo "$image, " . $aMois[$sFile[2].$sFile[3]] . " 20" . $sFile[0].$sFile[1] . "</td>
</td>";
$col++;
if ($col>3)
{ echo "</tr>"; $col=1; }
}
echo "</table>";
?>

En vert le code proposer que j'ai essayer d'implanter... ma page m'annonce une erreur au niveau de l'echoaffichant les files...

Vous avez une autre solution a me proposer... merci par avance et merci pour vos reponse...
0
agenceacapulco Messages postés 41 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 3 octobre 2006
3 oct. 2006 à 16:41
J'ai essayer differente ecriture tout le weekend mais le script m'annonce toujours une erreur a la ligne echo (voir dernier message)... toujours aucune solution a me proposer...?
0