IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme de switch


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut probleme de switch
    bonjour,

    je suis en train de créer une fonction pour pouvoir avoir une date au format " 20 octobre 2006" quand cette date provient d'une base de donnée au format "2006-10-21". J'arrive à convertir au format "france" mais ai du mal à faire correspondre le mois au chiffre...
    j'ai donc pensé à un switch mais je pense avoir un problème avec ma variable $mois..
    voici mon code c'est plus parlant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    function date_fr($date)
    {
    $date_angl=explode("-",$date);
    $an=$date_angl[0];
    $month=$date_angl[1];
    $jour=$date_angl[2];
     switch($month)
     {
         case 01 :$mois ="janvier"; break;
         case 02 :$mois ="février"; break;
         case 03 :$mois ="mars"; break;
         case 04 :$mois ="avril"; break;
         case 05 :$mois = "mai"; break;
         case 06 :$mois ="juin"; break;
         case 07 :$mois ="juillet"; break;
         case 08 :$mois ="aout"; break;
         case 09 :$mois ="septembre"; break;
         case 10 :$mois ="octobre"; break;
         case 11 :$mois = "novembre"; break;
         case 12 :$mois = "décembre"; break;
    }			
    $date_fr=$jour." ".$mois." ".$an;
    return $date_fr;
    }
    et j'ai l'erreur suivant :

    Notice: Undefined variable: mois in c:\program files\easyphp1-8\www\college\reunions.php on line 29

    ça m'affiche :
    date : 01--2006

    donc ma question : est-ce la bonne façon de déclarer $mois ?
    j'ai essayé $mois = switch($month) mais ça ne fonctionne pas...

    merci de votre aide....

  2. #2
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    la verité est ailleur

    j'ai essayé ta fonction avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res = date_fr("2006-05-21");
    echo($res);
    et elle me donne bien
    21 mai 2006
    vérifie si tu n'as pas de problème à un autre endroit, car ta fonction fonctionne tres bien

  3. #3
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Tu ne passes dans aucun des cas de ton switch et donc $mois n'est pas défini et donc erreur !

    Pour corriger 2 solutions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    switch($month)
     {
         case 01 :$mois ="janvier"; break;
         case 02 :$mois ="février"; break;
         case 03 :$mois ="mars"; break;
         case 04 :$mois ="avril"; break;
         case 05 :$mois = "mai"; break;
         case 06 :$mois ="juin"; break;
         case 07 :$mois ="juillet"; break;
         case 08 :$mois ="aout"; break;
         case 09 :$mois ="septembre"; break;
         case 10 :$mois ="octobre"; break;
         case 11 :$mois = "novembre"; break;
         case 12 :$mois = "décembre"; break;
         default: $mois = '00'; // Ne pas oublier le default dans les switchs
    }
    Ou tout simplement afficher ta variable month pour voir réellement ce qu'elle contient (je suppose qu'en mettant tes cases entre quotes ça devrait mieux fonctionner )
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  4. #4
    Membre éclairé
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Par défaut
    c plus logique, c le parametre passé à la fonction qui n'est pas bon mais pas la fonction en soi

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    merci à tous les deux !

    bon alors j'ai testé le deux méthodes de guitou12 et
    1. en faisant echo : et bien j'ai 09...donc ça aurait dû prendre ma fonction en compte !
    j'ai fait la méthode 2 en rajoutant des cote et...fantastique ça marche...
    je pensais que comme c'était du int il ne fallait pas mettre entre cote...(sans jeu de mots

    Merci bien ! bon week end !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. un probleme avec switch
    Par patchouli dans le forum C
    Réponses: 8
    Dernier message: 08/01/2007, 12h39
  2. Probleme instruction switch
    Par mpascolo dans le forum Langage
    Réponses: 7
    Dernier message: 17/10/2006, 11h14
  3. Problème de switch !!!!!!
    Par King_T dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2006, 18h18
  4. [Language]Probleme de switch case
    Par nana1 dans le forum Langage
    Réponses: 20
    Dernier message: 17/11/2005, 00h49
  5. [débutant] Probleme avec switch et héritage
    Par durk dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 09h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo