COUIIIIN !
Voilà, une table "events" avec plusieurs colonnes (jusque là , ca va

) , avec notamment les colonnes suivantes :
type : les valeurs sont pour le moment entre "0" et "2"
time : une heure au format "23:59:59"
day : les valeurs stockées indiquent les jours auxquels l’événement doit être déclenché, et c'est sous forme "&1&2&3&4&5&6&0" (donc dans cet exemple tous les jours de la semaine et du week-end)
hours : les valeurs stockées indiquent les jours auxquels l’événement doit être déclenché, et c'est sous forme "&11&12&13&14" (donc dans cet exemple, à 11h , 12h ,13h et 14h)
Pour une question d'ordre de présentation du contenu, je dois effectuer 3 requetes :
Code : Tout sélectionner
SELECT * FROM events WHERE day NOT LIKE '&0' AND day NOT LIKE '&' AND type = 1 ORDER BY day ASC, time ASC
SELECT * FROM events WHERE (day LIKE '&0' OR day LIKE '&') AND type = 1 ORDER BY day ASC, time ASC
SELECT * FROM events WHERE type NOT LIKE 1 ORDER BY type DESC, day ASC, time ASC
Pour chacune, je while bien sur, avec les différentes étapes de traitement des données pour créer les lignes d'un tableau html.
Les étapes sont les mêmes pour les 3 requêtes. Ce qui fait que déjà la page est longue (je parle de quand on l'ouvre dans notepad++ pour travailler dessus) mais surtout que la moindre modif d'étape est à faire 3 fois alors qu'il serait plus pratique de factoriser le tout .
La question (car il faut bien y venir lol) : Est-il possible et si oui par quel moyen, de cumuler les 3 requêtes pour n'avoir plus qu'un while ?
Genre affiche les résultats pour
Code : Tout sélectionner
SELECT * FROM events WHERE day NOT LIKE '&0' AND day NOT LIKE '&' AND type = 1 ORDER BY day ASC, time ASC
puis
SELECT * FROM events WHERE (day LIKE '&0' OR day LIKE '&') AND type = 1 ORDER BY day ASC, time ASC
puis
SELECT * FROM events WHERE type NOT LIKE 1 ORDER BY type DESC, day ASC, time ASC
J'ai bien essayé avec UNION mais le serveur m'a insulté
Un tite idée pour le canard ?
Merki et bonne fin de weekend
Couin