Aller au contenu

Formulaire de réservation


mluce

Sujets conseillés

Bonjour,

Je dois réaliser un formulaire de réservation pour de la location d'engins à deux-roues qui calcule automatiquement le tarif que devra payer le client en fonction de trois critères :

- le temps qu'il passera avec le véhicule (cela peut aller de quelques heures à quelques mois)

- les heures pendant lesquelles il aura le véhicule en sa possession (certaines heures sont plus chères que d'autres, par exemple le soir)

- les jours pendant lesquels il aura le véhicule en sa possession (certains jours, comme les jours fériés ou les dimanches, sont plus chers)

Pour l'instant, tout ce que je sais faire avec certitude, c'est le calcul du nombre d'heures total passé avec le véhicule. Pour ce qui concerne les heures de la journée et les jours de l'année plus chers, je ne sais pas trop comment m'y prendre. Je suppose qu'il me faut créer un calendrier dans une base de données mysql, par contre pour faire communiquer le formulaire et la base de données je ne sais pas trop. De plus, le coup du calendrier résout le problème des jours plus chers mais pas forcément le problème des heures plus chères. Quelqu'un aurait-il une piste à me donner ?

Merci beaucoup !

Lien vers le commentaire
Partager sur d’autres sites

Alors personnellement ,je le verrais comme ça:

Chaque élément est un élément constitutif du prix.

Tu aura par exemple dans ta base de donnée une table pour chaque créneau horaire c'est à dire un identifiant,une heure début,une heure de fin et un tarif.

Donc lorsque tu récupére ton horaire,tu regarde entre quel borne il se situe et selon ca tu as ton tarif horaire.

Ensuite,pour le jour,tu fait simplement une table avec un jour correspondant à un tarif et tu as ton tarif du jour.

En additionnant chaque élément,tu obtient ton tarif.

Lien vers le commentaire
Partager sur d’autres sites

En fait ce n'est pas simple de mettre une heure de début et de fin pour chaque identifiant car l'utilisateur peut choisir le nombre de jours et d'heures qu'il veut donc les possibilités pour le début et la fin sont illimités

Lien vers le commentaire
Partager sur d’autres sites

comme te l'a dit K-Ola, il suffit de faire un tarif (ou coefficient) pour chaque heure de la journée ou de la semaine et ensuite, par exemple, du mardi 9h au vendredi 18h, il suffit d'additionner tous les coefficients horaires entre ces 2 bornes dans ton calendrier des tarifs.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

OK.

Savez-vous comment convertir du texte en format date ? Mon utilisateur rentre sa date de début et de fin en format texte par le biais de menus déroulants. Or, pour que je puisse comparer cette date avec celles qui sont rentrées dans la base de données, il faut que ce texte soit au préalable converti au format date. Je n'arrive pas à trouver comment faire, vous pouvez m'aider ?

Lien vers le commentaire
Partager sur d’autres sites

Merci mais cette fonction permet de transformer un texte en timestamp. Moi ce n'est pas d'un timestamp dont j'ai besoin mais juste d'un format date. Il n'y a pas une fonction pour ça ?

Lien vers le commentaire
Partager sur d’autres sites

je n'avais pas fait attention que le choix se faisait par menus déroulant. Il suffit alors de recréer la date $jour."/".$mois."/".$annee

Lien vers le commentaire
Partager sur d’autres sites

J'ai créé une variable "$annee-$mois-$jour" pour recréer le même format que dans la base de données mais ça ne marche pas. Ma date semble être interprétée comme du texte quand j'essaie de la comparer avec les dates de ma base.

Lien vers le commentaire
Partager sur d’autres sites

Finalement, j'ai trouvé la solution à mon problème. Je créais une variable de date au format yyyy-mm-dd. Finalement, j'ai essayé plus ou moins au hasard d'enlever les tirets. Et le format yyyymmdd est reconnu sans problème par ma base de données, youpi ! :)

Lien vers le commentaire
Partager sur d’autres sites

Tu as mis tes colonnes en type "DATE" dans la base de données ? C'est bizarre que les dates en "yyyy-mm-dd" ne soient pas reconnues... Elles sont censées l'être quand le type dans la BDD est bon !

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...