J'ai une base de données avec des réservations pour les articles. Toutes les réservations ont un ID, un identifiant d'élément, un identifiant de personne, un délai de time (unixtime), un time-to (unixtime). J'aime afficher un horaire de jour par jour d'une heure à l'autre, et colorier l'heure à laquelle un article est réservé et afficher la personWhoBookedID sur cette période.Données mysql du contrôle du calendrier si réservé
aime:
room1:
5:00 - 6:00: free
6:00 - 7:00: booked by[person]
8:00 - 9:00:free
et
room 2:
5:00 - 6:00: free
6:00 - 7:00: booked by[person]
8:00 - 9:00: booked by[person]
etc
A cette époque, j'itérer les éléments existants avec MySQL, vérifiez par période avec MySQL s'il y a une réservation qui est égal à itemID et timeis entre la période mentionnée de time-from et time-to
Cela fonctionne mais fait beaucoup de requêtes sur la base de données.
Pour augmenter les performances, je pense que je ferais mieux de Frist obtenir toutes les réservations et les stocker dans un tableau multi dimensions, comme ceci:
$allreservationsperday = mysql_query("select id, personid, itemid, time_from, time_to FROM reservations where time_from >= '$unixfrom' and time_to < '$unixto'");
while($reservationarray = mysql_fetch_array($allreservationsperday)){
$res[$reservationarray ["id"]]["personid"] = $reserveringenarray["personid"];
$res[$reservationarray ["id"]]["itemid"] = $reserveringenarray["itemid"];
$res[$reservationarray ["id"]]["time_from"] = $reserveringenarray["time_from"];
$res[$reservationarray ["id"]]["time_to"] = $reserveringenarray["time_to"];
}
puis afficher la timeline par une boucle for en boucle à travers les heures de le jour Mais je ne peux pas comprendre comment vérifier par heure s'il y a une réservation dans le tableau juste formé.
Toute aide est la bienvenue! jeroen
@Jeroen - deux éventuellement liés messages « système de réservation » pour vous: http://stackoverflow.com/questions/1692969/booking-system-dates-in-database/1693079#1693079 et http://stackoverflow.com/questions/1687519/searching-for-availability-with-mysql-and-php/1691282 # 1691282 –