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

PHP & Base de données Discussion :

[SQL] date en français dans un tableau


Sujet :

PHP & Base de données

  1. #1
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut [SQL] date en français dans un tableau
    Bonjour,
    J'ai une table dans ma BDD qui se compose du champ "date_reel" entre-autres. Ce champs a pour format yyyy-mm-dd. Du coup, quaud j'affiche dans ma page la réponse à ma requête dans un tableau, ma date a le même format. Comment faire pour que ma date reprenne le format français ?? Je sais qu'il y a "strtotime" mais je ne sais pas où le mettre... voici un extrait de mon code, ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // boucle sur le résultat de ta requete ..
    while ($ligne = mysql_fetch_assoc($result))
    {
    // nouvelle ligne dans le tableau
    echo "<tr class=normal>";
    echo "<td><div align=center>".$ligne['date_reel']."</div></td>";
    echo "<td><div align=center>".$ligne['quoi']."</div></td>";
    echo "<td><div align=center>".$ligne['où']."</div></td>";
    // fin de ligne
    echo "</tr>";
    }
     
    // fin du tableau
    echo "</table>";
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    est-ce que tu utilises mysql ? Si oui, tu peux faire le formatage dans ta requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select date_format(date_reel, "%d-%m-%Y") as date_reel from xxxx
    Il te suffit d'intégrer ca dans ta requête existante, tu n'auras rien à changer à ton script PHP.

  3. #3
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    j'ai modifié ma requête mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = "SELECT date_format(date_reel, "%d-%m-%Y") as 'date_reel', 'quoi', 'où' FROM calendrier WHERE date_reel >= '$date' ORDER BY date_reel ASC";

  4. #4
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    ca veut dire quoi, "ca ne marche pas" ?
    tu as quoi comme sortie maintenant ?

  5. #5
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    voilà ce qu'il me répond :
    Parse error: syntax error, unexpected '%' in /mnt/124/sdc/b/f/monsite/16_calendrier/16_calendrier.php on line 16

  6. #6
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    ah yes, fallait un peu adapter ce que j'ai dit pour que ca rentre dans ta string, évidemment ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = "SELECT date_format(date_reel, '%d-%m-%Y') as 'date_reel', 'quoi', 'où' FROM calendrier WHERE date_reel >= '$date' ORDER BY date_reel ASC";

  7. #7
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    merci, ça marche nikel !
    aussi, tu ne saurais pas comment faire pour ne prendre que les dates de 2006 ???
    Dans mon calendrier, j'ai des dates de 2005, de 2006... Je voudrais voir seulement celles de 2006. Comment faire avec date("Y-m-d") ???
    merci

  8. #8
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Y'a plusieurs solutions, dont celle là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req = "SELECT date_format(date_reel, '%d-%m-%Y') as 'date_reel', 'quoi', 'où' FROM calendrier WHERE date_reel >= '$date' AND EXTRACT(YEAR FROM date_reel) = "2006" ORDER BY date_reel ASC";

  9. #9
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    y'a un autre problème... c'est que quand je les classe par ordre décroissant, ça prend d'abord le jour, après le mois, etc...
    je voudrais ça soit classé par année, puis par mois et enfin par jour... possible ?
    Merci

  10. #10
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    ok, ca c'est parce qu'on a utilisé le même nom de champ que le champ original pour mettre notre date formatée. Il trie donc suivant notre champ modifié, et plus suivant l'original.

    Il faudrait changer le nom alors, et changer également le nom utilisé dans ton script PHP pour l'affichage.

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "SELECT date_format(date_reel, '%d-%m-%Y') as 'date_reel_formatted', 'quoi', 'où' FROM calendrier WHERE date_reel >= '$date' AND EXTRACT(YEAR FROM date_reel) = "2006" ORDER BY date_reel ASC";

  11. #11
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    excellent !!!! ça fonctionne parfaitement ! Je vous remercie beaucoup !!!
    Une dernière chose mais si c'est trop dur, vous me le dites :
    je voudrais créer un script qui d'après mes dates de spectacle envoie un mail à mes abonnés (leurs adresses sont dans la base de données) lorsque l'on se trouve à 2 jours du spectacle...
    vous comprenez ?? le script d'exécuterait avec webcron...
    Merci

  12. #12
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Wow, ca c'est plus complexe que de changer une requête oui ...

    Cherche des infos sur les crons, crée-toi un script qui sera exécuté par le cron tous les jours à une heure donnée, récupère les évenements dont la date est à J+2, et qui envoie ensuite le mail. Mais là je peux pas le coder à ta place

    Pour le J+2, tu pourras te servir de quelque chose de ce genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM evenements WHERE date_reel = now() + INTERVAL 2 DAY
    plus d'infos ici:
    http://dev.mysql.com/doc/refman/4.1/...functions.html

  13. #13
    Débutant
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 48
    Points
    48
    Par défaut
    merci quand même !

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

Discussions similaires

  1. Afficher la date en français dans un dataGrid
    Par bilou69 dans le forum Flex
    Réponses: 20
    Dernier message: 14/12/2009, 12h42
  2. [SQL] Date en fr dans un textbox
    Par gastoncs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/12/2007, 13h07
  3. [SQL] Rendre un lien dans un tableau inactif
    Par Nicos77 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/12/2007, 12h28
  4. [SQL] date du jour dans requete sql
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 17/10/2006, 00h50
  5. [SQL] Affichage résultat requête dans un tableau, bouton affichage page
    Par megapacman dans le forum PHP & Base de données
    Réponses: 35
    Dernier message: 18/05/2006, 16h42

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