[PHP - Mysql] Insérer date dans bdd

Résolu
Bonjour,

Pourquoi ce script ne me retourne pas un truc comme "le Jeudi 26 Novembre 2009" ?!

$JourL = strftime("%A");
$Jour = strftime("%d");
$Mois = strftime("%B");
$Annee = strftime("%Y");
$date = "le " . $JourL . " " . $Jour . " " . $Mois . " " . $Annee;
setlocale ("LC_TIME", "fr");

J'utilise une requête avec, comme valeurs à insérer dans le champ de type Varchar sans autre spécificitées, la variable $date. Le résultat actuel est "le Thursday 26" ?!

Merci ;)
Configuration: Windows Vista
Firefox 3.5.5

6 réponses

  1. Car %m te renvoi de 01 à 12 contrairement a %w qui renvoi de 00 a 06
    Il faut donc decaler ton array de une case :
    $moisfr = array('VIDE','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');


    EDIT :

    Ou alors faire -1 dans ton calcul :
    $Mois = $moisfr[strftime("%m") - 1];
    1
    1. Bonjour,

      As-tu essayé d'utiliser la fonction setlocale avant d'utiliser la fonction strftime ?
      0
      1. oui, j'ai déjà essayé de faire cela, sans succès :

        setlocale ("LC_TIME", "fr");
        $JourL = strftime("%A");
        $Jour = strftime("%d");
        $Mois = strftime("%B");
        $Annee = strftime("%Y");
        $date = "le " . $JourL . " " . $Jour . " " . $Mois . " " . $Annee;
        0
        1. Le problème vient du fait que ce soit en anglais ?

          %A Nom complet du jour de la semaine De Sunday à Saturday

          Essaye avec :

          $jourdate = array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
          $JourL = $jourdate[strftime("%w")]; 
          

          0
          1. Ok merci ça marche pour les jours,
            seulement j'ai fait la même chose (avec %m) pour les mois et ça me renvoie systématiquement la dernière valeur de l'array (décembre) ?!

            Mon script :
            // INSERTION DATE
            // Conversion en fr
            $jourfr = array('dimanche','lundi','mardi','mercredi','jeudi','vendredi','samedi');
            $moisfr = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre');
            // reconnaissance de l'heure
            $JourL = $jourfr[strftime("%w")];
            $JourN = strftime("%d"); 
            $Mois = $moisfr[strftime("%m")];
            $Annee = strftime("%Y");
            $date = "le " . $JourL . " " . $JourN . " " . $Mois . " " . $Annee;
            0
            1. Super ça marche ! =)
              0

              Discussions similaires

              MFG pas encore arrivée

              2 réponses