8768 sujets

Développement web côté serveur, CMS

Bonjour,

n'étant pas un spécialiste du Mysql, je veux afficher dans une page web des dates extraites d'une base de données MySql et les remettre dans l'ordre à l'affichage (dans la base de données elles sont saisies dans un ordre quelconque)
les dates sont stockées dans ma base MySql au format date : 2016-07-01

Au niveau de la doc PHP c'est flou, ça parle beaucoup de timestamp et voici donc la solution que j'ai trouvée et qui fonctionne parfaitement mais je me demande si elle est optimale car après tout le problème que je cherche à résoudre est si banal....

La requête:


$sql_cal = "SELECT libelle, 
            DATE_FORMAT(date, '%m') as date_mois, 
            DATE_FORMAT(date, '%d') as date_jour, 
            DATE_FORMAT(date, '%y') as date_year 
            FROM calendrier 
            ORDER BY date_mois ASC, date_jour ASC";


la boucle:


        <table>
            <?php foreach ($ma_connexion->query($sql_cal) as $row):   ?>
                <tr>
                    <td><?php echo $row['date_jour'],"/",$row['date_mois'],"/",$row['date_year']; ?></td>
                    <td><?php echo $row['libelle']; ?></td>
                </tr>
            <?php endforeach;  ?>
        </table>

Modifié par lionel_css3 (30 Jun 2016 - 11:04)
Bonjour !

N'étant pas une spécialiste, je vais peut-être dire une bêtise mais... faire
"... ORDER BY date", ce n'était pas suffisant ?

Smiley smile
Modifié par Zelena (30 Jun 2016 - 11:19)
Hello Smiley smile

Alors plus simple en effet de trier direct sur la date Smiley smile

ta requète corrigée et le php corrigé aussi


$sql_cal = "SELECT libelle, 
            DATE_FORMAT(date, '%d/%m%Y')
            FROM calendrier 
            ORDER BY date ASC";



<table>
            <?php foreach ($ma_connexion->query($sql_cal) as $row):   ?>
                <tr>
                    <td><?php echo $row['date'] ?></td>
                    <td><?php echo $row['libelle']; ?></td>
                </tr>
            <?php endforeach;  ?>
        </table>
Zelena a écrit :
Bonjour !

N'étant pas une spécialiste, je vais peut-être dire une bêtise mais... faire
"... ORDER BY date", ce n'était pas suffisant ?

Smiley smile


non parce que elles restaient au format à l'américaine, lors de l'affichage Smiley smile
pchlj a écrit :
Hello Smiley smile

Alors plus simple en effet de trier direct sur la date Smiley smile

ta requète corrigée et le php corrigé aussi



merci, je vais regarder çà mais pourtant il me semble que j'avais essayé, quoique.. à force de tester plein de pistes....

encore merci
lionel_css3 a écrit :


non parce que elles restaient au format à l'américaine, lors de l'affichage Smiley smile



oui c'est le date_format qui te permet la transformation Smiley smile

d'ailleurs je me rend compte que j'ai oublié un / séparateur dans la requète Smiley cligne
mais tu corrigera tout seul Smiley smile