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 :

Afficher une date correctement après une requête [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 365
    Points : 96
    Points
    96
    Par défaut Afficher une date correctement après une requête
    Bonjour.

    J'ai créé une petite page dont une requête affiche les derniers inscrits ; seulement, la date est affichée en "timestamp" et je ne sais pas comment faire pour l'afficher correctement.

    Voici mon fichier PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    define('IN_PHPBB', true);
    $phpbb_root_path = './';
    include($phpbb_root_path . 'extension.inc');
    include($phpbb_root_path . 'common.'.$phpEx);
     
    $result = mysql_query('SELECT user_id, username, user_regdate FROM phpbb_users ORDER BY user_id DESC LIMIT 0 , 10');
     
    $userdata = session_pagestart($user_ip, PAGE_INDEX);
    init_userprefs($userdata);
     
    $page_title = $lang['Lastreg'];
    include($phpbb_root_path . 'includes/page_header.'.$phpEx);
     
    $template->set_filenames(array(
        'body' => 'lastreg_body.tpl')
    );
     
    while( $row = mysql_fetch_array($result) )
       {
          $template->assign_block_vars( 'lastreg', array(
             'LASTREG_USER' => stripslashes($row['username']),
    		 'LASTREG_DATE' => $row['user_regdate']
          ));
       }
     
    $template->assign_vars( array(
    		'L_LASTREGS' => $lang['Lastregs'],
      ));
     
    $template->pparse('body');
     
    include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
     
    ?>

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour,

    mysql a une fonction pour cela date_format()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = mysql_query('SELECT user_id, username, date_format(user_regdate,'%d/%m/%Y') as datereg FROM phpbb_users ORDER BY user_id DESC LIMIT 0 , 10');
    pour l'afficher tu l'appelles comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'LASTREG_DATE' => $row['datereg']
    cela te sortira une date de forme:jj/mm/yyyy
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  3. #3
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 365
    Points : 96
    Points
    96
    Par défaut
    Merci, mais j'ai ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: parse error, unexpected '%' in /var/www/sdb/8/8/forum/forum/stats.php on line 9
    Edit : si j'exécute la requête dans Php/Admin, elle fonctionne, mais le résultat pour chaque enregistrement est "Null".

  4. #4
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    ok, c'est un bleme de quote. Essaie cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $result = mysql_query("SELECT user_id, username, date_format(user_regdate,'%d/%m/%Y') as datereg FROM phpbb_users ORDER BY user_id DESC LIMIT 0 , 10");
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  5. #5
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 365
    Points : 96
    Points
    96
    Par défaut
    1) Plus de message d'erreur, mais la colonne de dates est vide.
    2) Avec des ' ça fonctionne pour d'autres requêtes.

  6. #6
    Membre régulier Avatar de Nerva
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 365
    Points : 96
    Points
    96
    Par défaut
    Je viens de trouver ça sur un forum phpBB :

    Juste remplacer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'LASTREG_DATE' => $row['user_regdate']
    Par ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'LASTREG_DATE' => create_date($board_config['default_dateformat'], $row['user_regdate'], $board_config['board_timezone'])
    Ca fonctionne, mais étant donné qu'il va chercher les valeurs par défaut, j'ai également l'heure, les minutes et les secondes qui s'affichent.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/07/2014, 10h44
  2. [XL-2007] Afficher des dates MAXI suivant une date butoir ?
    Par Philippe608 dans le forum Excel
    Réponses: 0
    Dernier message: 16/06/2011, 16h56
  3. [MySQL] Mettre à jour une donnée d'après une date
    Par padodanle51 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/06/2009, 11h48
  4. Réponses: 2
    Dernier message: 21/03/2007, 16h06
  5. Réponses: 14
    Dernier message: 09/01/2007, 16h19

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