Logique php - Page 2

  1. Bonjour,

    if(($annee == 1999 and $jour>16 and $mois==2) or ($annee == 1999 and $mois>2) or ($annee==2000 and $jour<04 and $mois==2) or ($annee==2000 and $mois==1))

    {
    $chinois = "Lièvre";
    }

    else if(($annee == 2000 and $jour>05 and $mois==2) or ($annee == 2000 and $mois>2) or ($annee==2001 and $jour<23 and $mois==2) or ($annee==2001 and $mois==1))

    {
    $chinois = "Dragon";
    }

    et ainsi de suite
    1. Contributeur
      Bonjour,

      en principe si tu as compris la logique des signes chinois et le code de ton professeur,
      la suite devrait aller toute seule. Voici la méthode à suivre a minima :

      1) Trouver les conditions pour les autres signes.

      2) Les traduire en code en t'inspirant du code de ton prof.

      3) Enchaîner les codes php de la manière suivante :

      Si (condition_lièvre = vérifiée)
      alors Signe = lièvre

      Sinon Si (condition_cochon = vérifiée)
      alors Signe = cochon

      Sinon Si ...

      ...et ainsi de suite.
      Ce qui se traduira en php par quelque chose du style :

      if ( condition1)
      résultat1;

      else if (condition2)
      resultat2;

      else if ...

      etc.

      Bon codage.
      1. 1999 fév. 16 à 2000 fév. 04 = signe astro est lièvre

        f(($annee == 1999 and $jour>16 and $mois==2) or ($annee == 1999 and $mois>2) or ($annee==2000 and $jour<04 and $mois==2) or ($annee==2000 and $mois==1))

        {
        $chinois = "Lièvre";
        }

        else
        {
        if($annee == 1999 and $jour > 16 and $mois > 2)
        $astro = "lièvre";
        if($anne == 2000 and $jour < 4 and $mois <= 2)
        $astro = "liévre";
        }

        ca devrait faire l'affaire ;)
        1. Je ne pense pas que c'est ce qu'il attend.

          De plus ce qui se trouve dans ta condition if n'est pas correct.
      2. Bonjour,

        Je penserais à un truc comme ça,
        if(($annee == 1999 and $jour>16 and $mois==2) or ($annee == 1999 and $mois>2) or ($annee==2000 and $jour<04 and $mois==2) or ($annee==2000 and $mois==1)) 
        
        {
        $chinois = "Lièvre";
        }
        
        else if ( ( $annee == 2000 and $jour > 5 and $mois == 2 ) or ( $annee == 2000 and $mois > 2 ) or ( $annee == 2001 and $jour < 25 and $mois == 1 ) )
        
        {
        $chinois = "Dragon";
        }


        Voilà.
        1. Bonjour,

          heu.. je suis pas trés fan de la facon dont ton prof a fait... Il y a plus simple et moins bricolage...

          en passant par les timestamp. En gros tu converti chaque date en timestamp et apres tu les compare, c'est beaucoup mieu je trouve
          exemple :

          $timestampDebutPeriode=mkdir(0,0,0,2,16,1999)//16 fevrier 1999
          $timestampFinPeriode=mkdir(0,0,0,2,4,2000)//4 fevrier 2000
          $timestampMaDate =...

          if ($timestampDebutPeriode>=$timestampMaDate) && ($timestampMaDate <= $timestampFinPeriode)
          $chinois = "Lievre";

          et tu repete ca pour chaque signe et voila

          PS : tu devrait eviter les "j'aimerais que ..." et les remplacer par des "Pourriez vous svp..." ca donnerai moin l'impression que tu nous donne des ordres...
          Précédent
          • 1
          • 2