afficher plusieurs éléments en une seule boucle

afficher plusieurs éléments en une seule boucle - PHP - Programmation

Marsh Posté le 11-02-2010 à 12:27:24    

Bonjour,
 
Je ne sais pas si le titre est très explicite...
J'ai un souci que je n'arrive pas à modéliser. Je suis sur un outil de gestion de salle, et je dois afficher toutes les plages où une salle est réservée, pour un jour donné (donc dans un tableau affichant toutes les heures, de 8h a 23h, par tranches d'une heure).
Via ma BDD j'ai plusieurs plages horaires (sans chevauchement, logique), par exemple de 8h a 10h, puis 12h a 15h et 20h a 23h. Par contre, ces différentes plages horaires viennent de plusieurs enregistrements (plusieurs personnes qui ont réservé cette salle pour la même journée).
Comment puis-je faire pour construire mon tableau ? J'ai essayé de stocker mes plages horaires sous la forme array('HDHF','HDHF') (par exemple, Array ( [0] => 0810 [1] => 0608 )), puis j'ai essayé de trier avec sort mais il ne veut pas (il me renvoie 1  :??: ).
Je n'arrive donc pas à modéliser le système me permettant d'afficher mes plages horaires réservées en un seul passage  :sweat: je dois bloquer sur un truc stupide :(
 
Si vous avez une idée, je suis preneur. Merci d'avance :)

Reply

Marsh Posté le 11-02-2010 à 12:27:24   

Reply

Marsh Posté le 11-02-2010 à 12:28:54    

si il n'y a pas de chevauchement, il te suffit de les trier par heure de début,non?  
et le plsu simple est de le faire directement dans la requete SQL


---------------

Reply

Marsh Posté le 11-02-2010 à 12:30:23    

Le souci c'est que dans SQL c'est stocké sous la forme HH:MM:SS pour l'heure de début et l'heure de fin, comment je peux les trier dans la requête sans perdre les couples correspondants ?

Reply

Marsh Posté le 11-02-2010 à 12:35:50    

SELECT * FROm table ORDER BY dateDebut,heureDebut ?


---------------

Reply

Marsh Posté le 11-02-2010 à 12:38:48    

LE souci c'est qu'il y a des réservations sur plusieurs jours consécutifs (par exemple du 15 a 20h au 16 a 10h). Je récupère déjà toutes les réservations ayant un lien avec le jour sélectionné dans ma requête, puis après je réécris mes résultats : si pour cet enregistrement, la date de début est différente (donc que la réservation commence la veille par ex), je change l'heure de début et je la mets a 8h (puisque je ne m'occupe que d'un jour à la fois), et même chose pour l'heure de fin (si la date de fin de la réservation est différente, donc que ça va jusqu'au lendemain, je change l'heure de fin pour 22h).
Pour mon exemple :
Array ( [0] => 0810 [1] => 0608 )
Le 0608 est en fait une réservation qui a débuté la veille a 20h et qui se termine le jour même a 8h.
Je pensais qu'en concaténant les heures comme ça je pourrais faire un tri dessus mais sort refuse, je ne comprends pas pourquoi, même en forçant une comparaison numérique.


Message édité par garfunk71 le 11-02-2010 à 12:52:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed