Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
J'ai une liste d'événements que je récupère via une requête SQL. Le résultat me retourne la date de début et la date de fin d'un événement.
Pour l'instant, le résultat est classé par date de début.
J'aimerais que quand un événement est terminé, qu'il aille se placer à la fin de la liste.
J'ai beau chercher pour trouver la logique à faire dans ce cas-ci mais je ne trouve pas.
Pouvez-vous m'aider svp?
J'ai élaboré un début de code ou je trouve la date d'aujourd'hui ($date) et la date de fin $date_fin. Mais pour l'exécution (envoyer à la fin de la liste) je bloque.
[c]$date = strftime("%A, %e %B %Y", strtotime($date));
$date_fin = strftime("%A, %e %B %Y", strtotime($date_fin));
if ($date_fin < $date)
{
Envoyer à la fin de la liste
}[/c]
Hors ligne
Saluton,
Au niveau SQL, la solution serait de faire deux requêtes une sur les événements sans date de fin classés par date de début et une sur les événements avec date de fin avec le même classement, puis de faire une UNION de ces deux requêtes.
Le problème est que je crois que l'option ORDER BY ne peut s'appliquer que sur le résultat de l'UNION (à vérifier).
Si c'est le cas, il faut soumettre chacune des requêtes dans l'ordre et récupérer les résultats dans un seul tableau (array) PHP en parcourant (fetch) chacun des deux résultats.
Je ne suis pas plus précis dans le code ignorant le SGBDR et le contexte d'interfaçage (PDO, au demeurant, nous affranchirait de cette incertitude)
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1