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 :

Convertir une date en français (Résolu) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Convertir une date en français (Résolu)
    Bonsoir,

    Malgré plusieurs tutos je n'arrive pas à convertir une date (de naissance) en format français.
    Voici un exemple que j'ai trouvé mais je vois pas trop comment je pourrais adapter cela à mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
     
    $bdd = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "");
    setlocale(LC_TIME, 'fr');
     
    $ins = $bdd->exec('INSERT INTO heure (datetimet) VALUES (NOW())');
    $var = ucfirst(date('d/m/Y'));
     
    var_dump($var);
     
    ?>
    Dans mon projet, j'ai une table qui se nomme membres avec 5 champs (pk_membre, nom_membre, prenom_membre, dateNaissance_membre, fk_club)
    Dans ma page aperçu je voudrais que cette date pour le champ dateNaissance soit en format français.

    Vous pouvez m'orienter s'il vous plait ? Dois-je refaire une requête ???
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?php
     
    include_once("config_bd.php");
     
    setlocale(LC_TIME, 'fr');
     
    $result = mysqli_query($mysqli,"SELECT membres.pk_membre,membres.nom_membre,membres.prenom_membre,membres.dateNaissance_membre,clubs.pk_club AS fk_club, clubs.nom_club, clubs.type_club FROM membres INNER JOIN clubs ON (membres.fk_club=clubs.pk_club) ORDER BY pk_membre ASC "); 
     
     
    ?>
     
    <html>
    <head>	
    	<title>Le Palais des Sports</title>
    </head>
     
    <body>
    <a href="add_membre.php">Ajouter une nouvelle entrée</a><br/><br/>
     
    	<table width='80%' border=0>
     
    	<tr bgcolor='#CCCCCC'>
    		<td>Nom du Membre</td>
    		<td>Prenom du Membre</td>
    		<td>Date de Naissance</td>
    		<td>Nom du Club</td>
    		<td>Update</td>
    	</tr>
    	<?php 
     
    	while($res = mysqli_fetch_array($result)) { 		
    		echo "<tr>";
    		echo "<td>".$res['nom_membre']."</td>";
    		echo "<td>".$res['prenom_membre']."</td>";	
    		echo "<td>".$res['dateNaissance_membre']."</td>";
    		echo "<td>".$res['nom_club']."</td>";	
     
     
    		echo "<td><a href=\"edit_membre.php?pk_membre=$res[pk_membre]\">Editer</a> | <a href=\"delete_membre.php?pk_membre=$res[pk_membre]\" onClick=\"return confirm('Voulez-vous supprimer la saisie?')\">Delete</a></td>";	
    	}
     
    	?>
    	</table>
    </body>
    </html>
    Merci d'avance.

  2. #2
    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
    Tu n'as quand même pas dû beaucoup chercher pour ne rien trouver du tout.

    Un méthode, directement dans la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ...... DATE_FORMAT(membres.dateNaissance_membre, "%d/%m/%Y") as dateNaissance_membre ....
    Au passage ton ucfirst() ne sert à rien puisque tu l'appliques sur une date numérique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Bonsoir Sabota,

    Merci pour ton aide, j'ai plusieurs questions.

    1) Dans mon fichier aperçu, j'ai déjà une requête qui relie deux tables , je pense que je devrais créer une nouvelle requête pour convertir la date en français ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $result = mysqli_query($mysqli,"SELECT membres.pk_membre,membres.nom_membre,membres.prenom_membre,membres.dateNaissance_membre,clubs.pk_club AS fk_club, clubs.nom_club, clubs.type_club FROM membres INNER JOIN clubs ON (membres.fk_club=clubs.pk_club) ORDER BY pk_membre ASC "); 
     
    while($res = mysqli_fetch_array($result)) { 		
    		echo "<tr>";
    		echo "<td>".$res['nom_membre']."</td>";
    		echo "<td>".$res['prenom_membre']."</td>";	
    		echo "<td>".$res['dateNaissance_membre']."</td>";
    		echo "<td>".$res['nom_club']."</td>";	
    		}
    2) Si on doit créer une nouvelle requête pour formater la date, là voici.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $requeteDate = mysqli_query($mysqli, "SELECT *, FORMATDATE(dateNaissance_membre,'%m-%d-%y') AS dateNaissance_membre FROM membres;");
    Mais comment adapter l'affichage de ma boucle while
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    while($res = mysqli_fetch_array($result)) { 		
    		echo "<tr>";
    		echo "<td>".$res['nom_membre']."</td>";
    		echo "<td>".$res['prenom_membre']."</td>";	
    		echo "<td>".$res['dateNaissance_membre']."</td>";
    		echo "<td>".$res['nom_club']."</td>";	
    		}

  4. #4
    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
    Tu n'as pas besoin d'une nouvelle requête, il faut simplement modifier ton SELECT actuel en mettant la date formatée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    J'ai essayé plusieurs tentatives mais cela ne fonctionnent pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysqli_query($mysqli,"SELECT membres.pk_membre,membres.nom_membre,membres.prenom_membre, DATE_FORMAT(membres.dateNaissance_membre,'%d/%m/%Y') AS membres.dateNaissance_membre, clubs.pk_club AS fk_club, clubs.nom_club, clubs.type_club FROM membres INNER JOIN clubs ON (membres.fk_club=clubs.pk_club) ORDER BY pk_membre ASC ");
    Je pense que le problème vient des AS ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AS membres.dateNaissance_membre, clubs.pk_club AS fk_club, clubs.nom_club, clubs.type_club

  6. #6
    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
    le AS c'est pour définir un alias, un nom convivial.
    Si ton doute c'est orienté vers l'alias, tu as dû remarqué que tu n'as pas écrit la même chose que moi non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Ah oui c'est vrai effectivement là ça fonctionne merci encore pour ton aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysqli_query($mysqli,"SELECT membres.pk_membre,membres.nom_membre,membres.prenom_membre, DATE_FORMAT(membres.dateNaissance_membre,'%d/%m/%Y') AS dateNaissance_membre, clubs.pk_club AS fk_club, clubs.nom_club, clubs.type_club FROM membres INNER JOIN clubs ON (membres.fk_club=clubs.pk_club) ORDER BY pk_membre ASC ");
    Bon Week-end.

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

Discussions similaires

  1. Convertir une date correctement en français
    Par Tamzoro dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/03/2018, 09h38
  2. Réponses: 4
    Dernier message: 16/03/2017, 01h36
  3. Réponses: 5
    Dernier message: 28/11/2012, 10h42
  4. Convertir une date en lettre et en français
    Par ideal23 dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2011, 14h43
  5. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 10h52

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