Calendrier de réservations.

Statut
N'est pas ouverte pour d'autres réponses.

Leaf

pentoboules (h)
'Jour / 'Soir à tous,

Voila, je dois réaliser un programme php pour un ami, qui est en fait un calendrier de disponibilité d'un apparement louable à la mer, donc en gros une liste avec les mois et jours de l'année, avec les jours réservés en rouge et les jours libres en vert, et les gens pourraient cliquer sur les parties vertes pour ainsi aller vers un formulaire de réservation qui serait envoyer. Bien entendu, les prix à la semaine varient selon la saison, les vacances scolaires, etc..

J'ai bien expliqué ou c'est tout à fait incompréhensible ?

Le problèmes c'est que je ne sais pas trop comment organiser ça..

J'avais pensé à faire une bd avec 365 lignes ( mais déja ca foirerait les années bisextiles ^^ ) avec les champs "réservé ? " " prix / jour " " type de jour " mais j'ai pas eu encore l'occasion de bien y réfléchir... et ça me semble un peu lourd à organiser $$

Quelqu'un aurait une idée ?

Merci d'avance :)
 

null

ose();
Alors moi je ferais une table :

planning : id, debut, fin, idcontact

id : id unique du séjour
debut : date de début en secondes
fin : date de fin en secondes
idcontact : en relation avec une autre table pour les informations personnels & co

Pour les deux dates, tu les mets en secondes grâce à mktime() qui permet de donner la date en secondes à partir des arguments passés en paramètre (toi tu mettras 0 dans les paramètres : heures, minutes, secondes).

Donc si un weekend est réservé, la date du début sera à partir de Samedi 0h00 jusque dimanche 23h59 =]

Après, le script PHP générera le calendrier et tu fais une requête du type ($jourBoucle est le jour en secondes que tu testes lors de la génération du calendrier) :

SELECT id FROM planning WHERE debut > $jourBoucle AND fin < $jourBoucle LIMIT 0,1
Si le nombre de résultat est 0, tu colories en vert, sinon en rouge :)

J'espère avoir été clair :-D
 

Jereck

Α & Ω
Staff
Pourquoi se faire chier avec mktime(), qui va te ressortir un chiffre illisible apr un humain, alors qu'il suffit d'utiliser une date au format américain : aaaammjj (ex : 19 novembre 2006 -> 20061119).
 

Froggy

fake geek
les gens louent à la semaine ou au jour ?

parce qu'en général c'est à la semaine et que ça te fait 52 semaines (les années bissextile aussi ;) ) et que donc ta DB est nettement plus légère ... :)


(si tu le fais selon ton idée originale évidement ;-D )
 

zoheir

cvm.mangaleet()
Froggy a dit:
les gens louent à la semaine ou au jour ?

parce qu'en général c'est à la semaine et que ça te fait 52 semaines (les années bissextile aussi ;) ) et que donc ta DB est nettement plus légère ... :)
vive la redondance :gne:
 

Froggy

fake geek
cvm の術 a dit:
vive la redondance :gne:
j'ai juste regarder l'idée de départ hien ... puis faut dire que j'ai pas encore vriamnet abordé la gestion de DB :p
 

null

ose();
Jereck a dit:
Pourquoi se faire chier avec mktime(), qui va te ressortir un chiffre illisible apr un humain, alors qu'il suffit d'utiliser une date au format américain : aaaammjj (ex : 19 novembre 2006 -> 20061119).
Car avec ma solution, on sait très facilement voir si une date X est comprise dans une période réservée.
 

Jereck

Α & Ω
Staff
null a dit:
Car avec ma solution, on sait très facilement voir si une date X est comprise dans une période réservée.
idem avec la mienne

20061115 < jourX (au même format) < 20061119

Par exemple
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut