Modifier format d'une date extraite d'une base SQL [Résolu]

Signaler
Messages postés
27
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
7 avril 2006
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour,

Je pense que ce point a déjà du être aborder cependant je n'ai rien trouvé qui me satisfasse (en faite rien qui marche).

Voilà, j'ai une table SQL qui contient divers données, dont une est la date. La date est stockée au format US YYYY/MM/DD.

J'extraie cette donnée dans un tableau. Jusque là tout fonctionne. Mais j'aimerais modifier le format pour obtenir du DD/MM/YYYY. Tous les codes que j'ai essayé ont foirés car je sais pas comment exprimer ma donnée extraite.

Voici comment se présente mon code maintenant

<?php
$db = mysql_connect('localhost', '*****', '*****');


mysql_select_db('*****',$db);


$sql = 'SELECT date, canton, lieu, organisateur, nom_soir, texte, URL, image, mail FROM soirees WHERE date=now() or date>now() ORDER BY date';


$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());


while($data = mysql_fetch_assoc($req))
{
echo '<table border cellspacing="0">


<tr><td width="15%" bgcolor="#CCCCFF">'.$data['date'].'</td>


<td width="10%" bgcolor="#CCCCFF"> </td>

Comment dois-je faire et où dois-je insérer du code?

D'avance merci à ceux qui pourront m'aider

8 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Apprends un peu le PHP, ton problème saute aux yeux...



echo '<table border cellspacing="0">

<tr><td width="15%" bgcolor="#CCCCFF">',$dd,'/',$mm,'/',$yyyy,'</td>

<td width="10%" bgcolor="#CCCCFF"> </td>

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007

Voila : si ta date est $var :







$var='1987/01/25';



$date=explode('/',$var);

$yyyy=$date['0'];

$mm=$date['1'];

$dd=$date['2'];





donc $yyyy sera l'année , $mm sera le mois et $dd le jour...

C'est bon?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



tout dépend du format de stockage de ta date.



Si tu souhaites prendre la solution du dessus,
$var='1987/01/25';



$date=explode('/',$var);

$yyyy=$date[0];

$mm=$date[1];

$dd=$date[2];



on enlève les quotes en cas d'indices numériques.



a +
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007

Oki... je savais pas... merci bcp!
Messages postés
27
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
7 avril 2006

Ma date c'est '.$data['date'].'

Le format de ma date c'est 2005-05-20

J'ai essayé de mettre le code comme ça

(extraction de la base de données SQL)

$var='.$data['date'].';
$date=explode('-',$var);
$yyyy=$date[0];
$mm=$date[1];
$dd=$date[2];



echo '<table border cellspacing="0">


<tr><td width="15%" bgcolor="#CCCCFF">$date</td>

mais ça marche pas
Messages postés
95
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
1 décembre 2007

remplace $var='.$data['date'].'; par $var=$data['date'];

ca devrait marcher ... parce que ta date n'est pas '.$data['date'].'
qui est une simple chaine de caractere, mais $data['date'] qui est le
contenu du tableau renvoyé par mysql_fetch ...



Ca marche maintenant?
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
echo '<table>

<tr><td>',$date,'</td>';<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
27
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
7 avril 2006

Maintenant il m'affiche Array à la place de la date.

Mon code

<?php


$db = mysql_connect('localhost', '***', '***');


mysql_select_db('yendi_xnights',$db);


$sql = 'SELECT date, canton, lieu, organisateur, nom_soir, texte, URL, image, mail FROM soirees WHERE date>=now() and canton="'.$_POST['selcan'].'"
ORDER BY date';



$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_assoc($req))
{


$var=$data['date'];
$date=explode('-',$var);
$yyyy=$date[0];
$mm=$date[1];
$dd=$date[2];


echo '<table border cellspacing="0">
<tr><td width="15%" bgcolor="#CCCCFF">',$date,'</td>
<td width="10%" bgcolor="#CCCCFF"> </td>