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 :

[Dates] Fonction date français


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 44
    Par défaut [Dates] Fonction date français
    J'utilise une fonction pour la date en français
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function datefr($date=0)
      {
      $annee = substr($date, 0, 4);
      $mois = substr($date, 5, 2);
      $jour = substr($date, 8, 2);
      global $datefr;
      $datefr = $jour . '-' . $mois . '-' . $annee;
      }
    je la place dans une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while ($row=mysql_fetch_array($query))
    {
     
      $date_1 = datefr($date=$row[date_1]);
      $date1 = $datefr;
      $date_2 = datefr($date=$row[date_2]);
      $date2 = $datefr;
    Pour gagner de la place, je ne voulais que les deux derniers chiffres de l'année mais si j'écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $annee = substr($date, 2, 4);
    voilà ce que j'obtiens :
    24-09-08-0 et 19-11-08-1
    Sur chaque ligne, la première date se trouve associée à 0 et la seconde à 1
    Où se trouve mon erreur ?
    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 77
    Par défaut
    Pourquoi ne pas utiliser les fonctions de formatage de date déjà en place?

    http://ca3.php.net/date

    Vous pouvez également procéder au formatage dans la requête SQL avec la méthode date_format http://dev.mysql.com/doc/refman/5.0/...functions.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT date_format(CHAMP_DATE_TABLE, '%y-%m-%d') ...

    Et pour votre code il est bizarre essayer plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($row=mysql_fetch_array($query))
    {
     
      $date1 = datefr($row['CHAMP_DATE_1_DANS_TABLE']);
     
      $date2 = datefr($row['CHAMP_DATE_2_DANS_TABLE']);
    à moins que «date_1» et «date_2» soit des constante défini avec define représentant le nom des colonnes de la table?

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Parce que tu veux 2 caracteres apres le deuxieme caractere donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $annee = substr($date, 2, 2);
    Les clefs non numeriques doivent être encadré de guillemets :
    $row['date_2']

    Et pour avoir le résultat d'une fonction on utilise return et pas une variable global :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function datefr($date=0)
      {
      $annee = substr($date, 0, 4);
      $mois = substr($date, 5, 2);
      $jour = substr($date, 8, 2);
      $datefr = $jour . '-' . $mois . '-' . $annee;
      return $datefr;
      }
    $date1 = datefr($row['date_1']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 44
    Par défaut
    Merci pour vos réponses et corrections. Du coup j'ai utilisé le formatage dans la requête SQL.
    Encore des erreurs de débutant...

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

Discussions similaires

  1. [Dates] fonction date à devenir fou
    Par jbtz64 dans le forum Langage
    Réponses: 2
    Dernier message: 31/05/2008, 18h07
  2. [Dates] fonction date avec argument timestamp
    Par nicoda dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2008, 16h55
  3. [Dates] Fonction date non apparue
    Par kev484 dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2007, 18h43
  4. [Dates] Fonction date: ajouter 3 jours à une date
    Par bobic dans le forum Langage
    Réponses: 8
    Dernier message: 12/03/2007, 11h05
  5. [Dates] Fonction date
    Par dafalri dans le forum Langage
    Réponses: 18
    Dernier message: 13/12/2005, 11h27

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