tri par jour avec requete sql

Mammouth du PHP | 620 Messages

13 juin 2018, 10:17

Bonjour,
j'ai une requete

Code : Tout sélectionner

$requete = "SELECT DISTINCT(jour), titre, detail, description FROM tableantenne ORDER BY jour"; $res = $connect->query($requete); $libelle=""; while ($row = mysqli_fetch_array($res)) { if($libelle != $row["jour"]){ echo '<h2>'.$row["jour"]."</h2>"; $libelle = $row["jour"]; } echo $row["titre"]."<br/>"; echo $row["detail"]."<br/>"; echo $row["description"]."<br/>";
le distinct jour fonctionne bien mais par contre il m'affiche les jours dans le désordre (Dimanche, Jeundi, Lundi, Mardi...).
Je voudrais avoir un trie dans l'ordre de la semaine (Lundi, Mardi, Mercredi,...)
Est-ce possible ?

Mammouth du PHP | 620 Messages

13 juin 2018, 10:21

Bon en fait j'ai trouvé. Il suffit de faire un trie avec CASE

Code : Tout sélectionner

ORDER BY CASE jour WHEN 'Lundi' THEN 1 WHEN 'Mardi' THEN 2 WHEN 'Mercredi' THEN 3 WHEN 'Jeudi' THEN 4 WHEN 'Vendredi' THEN 5 WHEN 'Samedi' THEN 6 WHEN 'Dimanche' THEN 7 END
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 juin 2018, 10:31

Effectivement, c'est la meilleure approche, merci pour le partage de la solution ! :)
Quand tout le reste a échoué, lisez le mode d'emploi...