[HELP] HTML moi aussi, mais avancé ;) PHP

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • Guybrush02
    320x200x256


    • avril 2001
    • 6825

    #31
    Je conseille plutot un switch/case:

    switch($mois){
    case 01: $mois='janvier';
    break;
    case 02: $mois='fevrier';
    break;
    case 03: $mois='mars";
    break;
    }

    C'est plus bieau !!! ^^

    Commentaire

    • RyF
      Desp.R.Hate Zombie


      • avril 2001
      • 7205

      #32
      Provient du message de Guybrush02
      C'est plus bieau !!! ^^
      Et plus léger comme code aussi !
      thx
      @+
      RyF
      Vieux de la Vieille de Lost Treasures Fr =^__^=

      Game Designer dans la Real Life ®©

      Commentaire

      • Cold Hand
        Chaos Theocrate


        • avril 2001
        • 3413

        #33
        C'est pas trop comme ça qu'on fait, c'est très lourd et pas super beau comme code... En général, on utilise :

        $a_mois = {"Janvier", "Février", "Mars", etc...};

        et plus bas...

        $s_mois = $a_mois[$mois]

        où $s_mois est une string et $mois est ton chiffre. Comme ça, le jour où Bill décidera qu'il faut rajouter un 13ème et un 14ème mois, tu n'auras qu'à rajouter une entrée dans ton tableau Et pis ça évite les switch/case à rallonge.

        Tu peux faire la même chose avec les jours, faire une matrice pour avoir tes mois en plusieurs langues etc
        Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

        Commentaire

        • Guybrush02
          320x200x256


          • avril 2001
          • 6825

          #34
          pas bete...enfin le treizieme mois a toujours pas de nom ^^ et je le touche même po

          Commentaire

          • RyF
            Desp.R.Hate Zombie


            • avril 2001
            • 7205

            #35
            Cold, ton script marche pas quel est le prob (j'ai mis le ; à la fin)...???
            Code:
            // conversion date php en date fr
            function ConversionDate($date)
            {
            $a_mois={"Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre"};
            list($amj,$hmj)=explode(" ",$date);
            list($jour,$mois,$annee)=explode("-",$amj);
            list($heure,$minute,$seconde)=explode(":",$hmj);
            $s_mois=$a_mois[$mois];
            $date=$annee." ".$s_mois." ".$jour;
            return $date;
            }
            apparemment c'est la liste des mois qui semble poser problème.
            J'ai une erreur dans la requête du type : Fatal error: Call to undefined function: conversiondate() in c:\program files\easyphp\www\reqpatch on line 5

            (la ligne 5 étant la ligne appelant la fonction Conversiondate et qui fonctionne sans autre modifs que la suivante :
            dès que je masque ( // ) la ligne de $a_mois={...}; ça marche (mais affiche la date sans le mois of course)
            c'est sûr que c'est des {, des " et des , ??
            @+
            RyF
            Vieux de la Vieille de Lost Treasures Fr =^__^=

            Game Designer dans la Real Life ®©

            Commentaire

            • Cold Hand
              Chaos Theocrate


              • avril 2001
              • 3413

              #36
              Mon code était bien sûr du pseudo code... la déclaration d'un tableau en PHp se faisant de la manière suivante.

              $a_mois = array("Janvier","Févirer",...);

              Ma déclaration était en C :-p

              Je suis au boulot, donc je fais ça de mémoire, mais je pense que c'est bon.

              Au fait RyF, tu as reçu mon ICQ ?
              Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

              Commentaire

              • RyF
                Desp.R.Hate Zombie


                • avril 2001
                • 7205

                #37
                j'avais déjà corrigé en fouillant sur le net, mais ça ne marche pas, maintenant ya plus l'erreur mais le mois ne s'affiche pas dan sla date...
                non, pas ICq, mais je vais l'ouvrir =^__^=
                @+
                RyF
                Vieux de la Vieille de Lost Treasures Fr =^__^=

                Game Designer dans la Real Life ®©

                Commentaire

                • Cold Hand
                  Chaos Theocrate


                  • avril 2001
                  • 3413

                  #38
                  Bon, voilà, comme je te l'ai dit, j'ai jeté un coup d'oeil à ton histoire et je dois dire que je suis le premier étonné : PHP qui n'est pas typé pour un sous semble l'être dans ce cas présent ! Donc, pour résoudre, le problème, j'ai biaisé en déclarant le tableau de la manière suivante :

                  $a_month = array("01"=>"Janvier","02"=>"Février","03"=>"Mars","04"=>"Avril");

                  $date = "01-01-2003";
                  list($jour, $mois, $annee) = explode("-",$date);

                  echo "\$a_month[\$mois] = ".$a_month[$mois]."<BR>";

                  et il affiche bien "$a_month[$mois] = Janvier".

                  Mais ça m'étonne beaucoup... Prenez un truc tout con pour voir à quel point le typage est absent, si vous faites :

                  $a = "3 pommes";
                  $b = "2 poires";
                  echo $a+$b;

                  Il affiche... 5.
                  Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

                  Commentaire

                  • RyF
                    Desp.R.Hate Zombie


                    • avril 2001
                    • 7205

                    #39
                    ok merci...
                    enfouillant sur le net, de nombreuses personnes fournissaient la même solution que lpremière, c-à-d les mois seuls dans le array...


                    Enfin, voici comment j'ai modifier le script et il fonctionne :
                    Code PHP:
                    function ConversionDate($date)
                    {
                    list($amj,$hmj)=explode(" ",$date);
                    list($jour,$mois,$annee)=explode("-",$amj);
                    list($heure,$minute,$seconde)=explode(":",$hmj);
                    $a_mois = array('','01'=>'Janvier','02'=>'Fevrier','03'=>'Mars',...,'12'=>'Decembre');
                    $date=$annee." ".$a_mois[$mois]." ".$jour;
                    return $date;
                    } 
                    
                    Merci à tous les deux pour vos efforts !

                    bon, la prochaine étape consiste à faire des pages php pour modifier la base (les tables)...(un interface admin simplifiée pour les chroniqueurs...).
                    Je vais ce que je trouve sur le net, et si j'ai des problèmes, je vous soliciterais à nouveau ! (c'est dur de débuter...)
                    Encore merci !
                    @+
                    RyF
                    Vieux de la Vieille de Lost Treasures Fr =^__^=

                    Game Designer dans la Real Life ®©

                    Commentaire

                    • Guybrush02
                      320x200x256


                      • avril 2001
                      • 6825

                      #40
                      $a_mois = array('','01'=>'Janvier','02'=>'Fevrier','03'=>'Mars',...,'12'=>'Decembre') ;
                      pourquoi tu laisses un '', au debut de ton tableau ? je crois que c'est pas necessaire a partir du moment ou tu indiques l'indice du tableau par '=>'

                      Je vais ce que je trouve sur le net, et si j'ai des problèmes, je vous soliciterais à nouveau ! (c'est dur de débuter...)
                      Pas de problème, je (nous?) sommes à ta disposition avec plaisir, c'est toujours chiant de bloquer sur des ptits trucs quand on débute
                      Dernière modification par Guybrush02, 30 septembre 2003, 07h27.

                      Commentaire

                      • Cold Hand
                        Chaos Theocrate


                        • avril 2001
                        • 3413

                        #41
                        En fait, il n'indique pas réellement l'index justement, mais il crée un tableau associatif... On peut déclarer

                        $a_mois = array('','UN'=>'Janvier','DEUX'=>'Fevrier','TROIS'=>'Mars',...,'DOUZE'=>'De cembre');

                        ça marche toujours. Donc, malgré les apparences, je ne pense pas que '01'=>'Janvier' soit interprété comme int => String.

                        La première case à vide ne sert effectivement à rien puisque ce tableau n'est jamais accédé par l'utilisateur. Du moment où tu check ton index avant d'accéder au tableau, tu n'auras jamais de valeur à 0 ou à 13, donc la sécurité est inutile.
                        Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

                        Commentaire

                        • RyF
                          Desp.R.Hate Zombie


                          • avril 2001
                          • 7205

                          #42
                          ok =^__^=
                          ..
                          je peux donc par là même enlever les 0 devant 01, 02, 03 etc... non ?
                          @+
                          RyF
                          Vieux de la Vieille de Lost Treasures Fr =^__^=

                          Game Designer dans la Real Life ®©

                          Commentaire

                          • Cold Hand
                            Chaos Theocrate


                            • avril 2001
                            • 3413

                            #43
                            Ben justement, non... Ton mois, quand tu explose ta date, il est de la forme 01, 02 etc, non ? Donc, vu que tu utilises non pas un index, mais une String, il faut qu'elle soit identique... Maintenant, si PHP est aussi mal foutu que ça (du genre : C'est pas un chiffre, c'est une String, mais bon, c'est une String qui représente un chiffre, donc le 0 ne sert à rien), je peux pas me prononcer. Comme je l'ai déjà dit plus haut, c'est un langage très simple d'accès, mais super fantasque. On sent qu'il n'a pas été developpé par des gars "sérieux" comme pour le Java ou le C.
                            Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

                            Commentaire

                            • Guybrush02
                              320x200x256


                              • avril 2001
                              • 6825

                              #44
                              Bah tant mieux y a pas de déclaration de type pour les variables, moi je trouve qu'au contraire c'est plus moderne que des langages comme le C ou le Pascal (j'en bouffe en ce moment ^^)
                              Le PHP 5 est quand même orienté objet....faudrait demander a Lord Wo c'est un pro

                              Commentaire

                              • Cold Hand
                                Chaos Theocrate


                                • avril 2001
                                • 3413

                                #45
                                hum... orienté Objet... attends de bouffer du Java ou du C++, tu verras ce que c'est de l'orienté Objet. On en parlait justement à midi avec un pote, ces langages non typés sont réellement indebuggables, donc destinés à rester des langages moyens. Et puis le PHP a trop de failles pour être un langage réellement utilisé à grande échelle.

                                Mais bon, restons calmes, y s'agit pas de cracher dans la soupe non plus, j'en ai fait pendant un an et LTF est entièrement fait en PHP/MySQL et il marche bien, donc c'est quand même super efficace pour les sites web.
                                Avant de poser une question, LISEZ LA FAQ de Lost Treasures FR disponible au http://www.abandonware-france.org/ltf_comm/ltf_faq.php ! Sinon...

                                Commentaire

                                Chargement...