Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1542 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Calcul auto montant d'un séjour selon dates choisies

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Calcul auto montant d'un séjour selon dates choisies

n°1940880
giom67
Posté le 15-11-2009 à 15:57:53  profilanswer
 

Bonjour à tous,
 
Après avoir passé plusieurs heures sur l'ami Google, je n'ai toujours pas trouvé solution à mon problème, c'est pourquoi je me permet de faire appel à vous.
 
J'ai actuellement un formulaire pour les Internautes souhaitant effectuer une demande de réservation de leur séjour en ligne... et je souhaite que lorsqu'ils remplissent le formulaire, apparaît (dans un textarea par exemple) le total de leur séjour en fonction de la date d'arrivée et la date de départ qu'ils vont entrer dans le formulaire.
La difficulté principale c'est qu'il y a 2 tarifs différents... 22e/j en semaine, et 50e/we (du ve au di) ! Le tout doit ce multiplier par le nombre de personne, bien sur...
 
Par exemple, un Internaute qui souhaite réserver pour 2 personnes du 13.11 au 17.11 :
- dans "date d'arrrivée" : 13.11
- dans "date de départ" : 17.11
- pour "2 personnes"
- we du 13.11 au 15.11 = 50e + lu 16.11 = 22e + ma 17.11 = 22e, soit 50 + 22 + 22 = 94e / personne, donc 188 euros
 
Je ne maîtrise que quelques bases du html et du javascript...
 
Si quelqu'un à une piste, ou un début de piste, je l'en remercie d'avance !!
 
Cdt, Guillaume

mood
Publicité
Posté le 15-11-2009 à 15:57:53  profilanswer
 

n°1940915
NewsletTux
<Insérez ici votre vie />
Posté le 15-11-2009 à 19:44:56  profilanswer
 

voici en pseudo code comment je structurerais mon raisonnement à ta place :
 

Code :
  1. fonction prixJour(date)
  2. {
  3.     typeJour = getDay(date)
  4.     // le type de jour commence à 0 (dimanche) => 6 (samedi)
  5.     si ((typeJour == 0) || (typeJour == 6))
  6.         renvoie 50;
  7.     sinon
  8.         renvoie 22;
  9. }
  10. si jourDépart < jourArrivee
  11. affiche erreur
  12. sinon
  13. pour chaque jour de jourArrivee à jourDépart
  14. prixJournee = prixJour(jourEnCours);
  15. somme += nombrePersonnes * prixJournee;



---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1940957
giom67
Posté le 15-11-2009 à 21:47:21  profilanswer
 

NewsletTux a écrit :

voici en pseudo code comment je structurerais mon raisonnement à ta place :
 

Code :
  1. fonction prixJour(date)
  2. {
  3.     typeJour = getDay(date)
  4.     // le type de jour commence à 0 (dimanche) => 6 (samedi)
  5.     si ((typeJour == 0) || (typeJour == 6))
  6.         renvoie 50;
  7.     sinon
  8.         renvoie 22;
  9. }
  10. si jourDépart < jourArrivee
  11. affiche erreur
  12. sinon
  13. pour chaque jour de jourArrivee à jourDépart
  14. prixJournee = prixJour(jourEnCours);
  15. somme += nombrePersonnes * prixJournee;




 
 
En effet, ce serait un début de piste et t'en remercie... mais comment mettre ça concrètement dans un code html pour le mettre sur ma page ?
 
Voici le formulaire qui est actuellement en ligne :

Code :
  1. <html>
  2. <head>
  3.   <script>function checkrequired(which){
  4. var pass=true
  5. if (document.images){
  6. for (i=0;i<which.length;i++){
  7. var tempobj=which.elements[i]
  8. if (tempobj.name.substring(0,8)=="required" ){
  9. if (((tempobj.type=="text"||tempobj.type=="textarea" )&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
  10. pass=false
  11. break
  12. }
  13. }
  14. }
  15. }
  16. if (!pass){
  17. alert("Certains champs de ce formulaire sont obligatoires, merci de bien vouloir les renseigner" )
  18. return false
  19. }
  20. else
  21. return true
  22. }
  23.   </script>
  24. </head>
  25. <body>
  26. <form action="http://perso0.free.fr/cgi-bin/form2mail.pl"
  27. onsubmit="return checkrequired(this)" method="post"
  28. name="RESERVATION">
  29.   <table style="text-align: left; width: 556px;" border="1"
  30. cellpadding="2" cellspacing="2">
  31.     <tbody>
  32.       <tr>
  33.         <td style="font-family: Helvetica Neue; width: 100px;"><small>Nom*</small></td>
  34.         <td style="font-family: Helvetica Neue; width: 181px;"><small><input
  35. name="requiredNOM"></small></td>
  36.         <td style="font-family: Helvetica Neue; width: 62px;"><small>Pr&eacute;nom*</small></td>
  37.         <td style="font-family: Helvetica Neue; width: 179px;"><small><input
  38. name="requiredPRENOM"></small></td>
  39.       </tr>
  40.       <tr>
  41.         <td style="font-family: Helvetica Neue; width: 100px;"><small>Adresse*</small></td>
  42.         <td colspan="3" rowspan="1"
  43. style="font-family: Helvetica Neue; width: 179px;"><small><input
  44. size="50" name="requiredADRESSE"></small></td>
  45.       </tr>
  46.       <tr>
  47.         <td style="font-family: Helvetica Neue; width: 100px;"><small>Code
  48. postal*</small></td>
  49.         <td style="font-family: Helvetica Neue; width: 181px;"><small><input
  50. maxlength="5" size="10" name="requiredCODE_POSTAL"></small></td>
  51.         <td style="font-family: Helvetica Neue; width: 62px;"><small>Ville*</small></td>
  52.         <td style="font-family: Helvetica Neue; width: 179px;"><small><input
  53. name="requiredVILLE"></small></td>
  54.       </tr>
  55.       <tr>
  56.         <td style="font-family: Helvetica Neue; width: 100px;"><small>T&eacute;l&eacute;phone*</small></td>
  57.         <td style="font-family: Helvetica Neue; width: 181px;"><small><input
  58. name="requiredTELEPHONE"></small></td>
  59.         <td style="font-family: Helvetica Neue; width: 62px;"><small>Email*</small></td>
  60.         <td style="font-family: Helvetica Neue; width: 179px;"><small><input
  61. name="requiredEMAIL"></small></td>
  62.       </tr>
  63.     </tbody>
  64.   </table>
  65.   <br>
  66.   <table style="text-align: left; width: 511px;" border="1"
  67. cellpadding="2" cellspacing="2">
  68.     <tbody>
  69.       <tr>
  70.         <td style="width: 110px; font-family: Helvetica Neue;"><small>Date
  71. d'arriv&eacute;e*</small></td>
  72.         <td style="width: 150px; font-family: Helvetica Neue;"><small><input
  73. size="15" value="jj/mm/aaaa" name="ARR_DATE"></small></td>
  74.         <td style="width: 110px; font-family: Helvetica Neue;"><small>Heure
  75. d'arriv&eacute;e*</small></td>
  76.         <td style="width: 111px; font-family: Helvetica Neue;"><small>
  77.         <select name="ARR_HEURE">
  78.         <option selected="selected">Apr&egrave;s 17h00</option>
  79.         </select>
  80.         <br>
  81.         </small></td>
  82.       </tr>
  83.       <tr>
  84.         <td style="width: 110px; font-family: Helvetica Neue;"><small>Date
  85. de d&eacute;part*</small></td>
  86.         <td style="width: 150px; font-family: Helvetica Neue;"><small><input
  87. size="15" value="jj/mm/aaaa" name="DEP_DATE"></small></td>
  88.         <td style="width: 110px; font-family: Helvetica Neue;"><small>Heure
  89. de
  90. d&eacute;part*</small></td>
  91.         <td style="width: 111px; font-family: Helvetica Neue;"><small>
  92.         <select name="DEP_HEURE">
  93.         <option selected="selected">Avant 15h00</option>
  94.         </select>
  95.         <br>
  96.         </small></td>
  97.       </tr>
  98.     </tbody>
  99.   </table>
  100.   <br>
  101.   <table style="text-align: left; width: 314px;" border="1"
  102. cellpadding="2" cellspacing="2">
  103.     <tbody>
  104.       <tr>
  105.         <td style="width: 80px; font-family: Helvetica Neue;"><small>Adultes*</small></td>
  106.         <td style="width: 60px; font-family: Helvetica Neue;"><small>
  107.         <select name="ADULTES">
  108.         <option>1</option>
  109.         <option>2</option>
  110.         <option>3</option>
  111.         <option>4</option>
  112.         </select>
  113.         </small></td>
  114.         <td style="width: 80px; font-family: Helvetica Neue;"><small>Enfants*</small></td>
  115.         <td style="width: 60px; font-family: Helvetica Neue;"><small>
  116.         <select name="ENFANTS">
  117.         <option>0</option>
  118.         <option>1</option>
  119.         <option>2</option>
  120.         <option>3</option>
  121.         <option>4</option>
  122.         </select>
  123.         </small></td>
  124.       </tr>
  125.     </tbody>
  126.   </table>
  127.   <small><span style="font-family: Helvetica Neue;"></span></small><br>
  128.   <table style="text-align: left; width: 450px;" border="1"
  129. cellpadding="2" cellspacing="2">
  130.     <tbody>
  131.       <tr>
  132.         <td style="width: 113px; font-family: Helvetica Neue;"><small>Petits
  133. d&eacute;jeuners</small></td>
  134.         <td style="width: 48px; font-family: Helvetica Neue;"><small>
  135.         <select name="PETITS DEJEUNERS">
  136.         <option selected="selected">0</option>
  137.         </select>
  138.         <br>
  139.         </small></td>
  140.         <td style="width: 76px; font-family: Helvetica Neue;"><small>D&eacute;jeuners</small></td>
  141.         <td style="width: 48px; font-family: Helvetica Neue;"><small>
  142.         <select name="DEJEUNERS">
  143.         <option selected="selected">0</option>
  144.         </select>
  145.         <br>
  146.         </small></td>
  147.         <td style="width: 60px; font-family: Helvetica Neue;"><small>D&icirc;ners</small></td>
  148.         <td style="width: 55px; font-family: Helvetica Neue;"><small>
  149.         <select name="DINERS">
  150.         <option selected="selected">0</option>
  151.         </select>
  152.         <br>
  153.         </small></td>
  154.       </tr>
  155.     </tbody>
  156.   </table>
  157.   <small><span style="font-family: Helvetica Neue;">Belle
  158. cuisine &eacute;quip&eacute;e et nombreuses
  159. possibilit&eacute;s de restauration aux alentours.</span></small><br>
  160.   <br>
  161.   <input name="OK" value="Valider" type="submit"><br>
  162. </form>
  163. </body>
  164. </html>


n°1940964
giom67
Posté le 16-11-2009 à 00:22:16  profilanswer
 

Pour avoir une idée un peu plus précise, j'ai fais une rapide esquisse sous Excel :
> http://st0ckw3b.free.fr/expl/expl.xls
 
L'utilisateur n'a qu'à remplir la date d'arrivée, la date de départ et le nombre de personne... sous Excel pas de soucis, mais pour transposer ça en html ?!
 
J'attends vos réponses avec impatience !   :))

n°1940984
Fred999
Rabat-joie
Posté le 16-11-2009 à 09:14:26  profilanswer
 

Salut,
 
Maintenant que le principe d'une fonction en javascript est acquis...
 
Quand souhaites-tu voir le textarea se remplir avec le montant du séjour ? Lorsque l'utilisateur saisit les dates, ou bien lorsqu'il clique sur un bouton ?
 
En répondant à cette question, tu pourras déterminer les événements (au sens javascript) sur lesquels tu appelleras la dite fonction.

n°1940996
giom67
Posté le 16-11-2009 à 09:43:51  profilanswer
 

Fred999 a écrit :

Salut,
 
Maintenant que le principe d'une fonction en javascript est acquis...
 
Quand souhaites-tu voir le textarea se remplir avec le montant du séjour ? Lorsque l'utilisateur saisit les dates, ou bien lorsqu'il clique sur un bouton ?
 
En répondant à cette question, tu pourras déterminer les événements (au sens javascript) sur lesquels tu appelleras la dite fonction.


 
Bonjour Fred999,
 
Idéalement, je souhaite avoir un aperçu concret du code html que je dois mettre dans ma page... car comme dit plus haut, je n'ai que quelques bases de le Javascript et le html et ne saurais construire de moi-même une telle page.  
 
Pour répondre à ta première question, ce serait vraiment super que le textarea ce remplisse et ce mette à jour tout seul lorsque l'Internaute tape sa date d'arrivée, de départ et le nombre de personnes... si tu as une idée ?!
 
Merci également de te pencher sur mon problème !

n°1941431
giom67
Posté le 17-11-2009 à 08:57:37  profilanswer
 

re-Bonjour à tous,
 
Pour simplifier un peu la chose, j'ai pensé à autre chose... si le tarif ne change pas (qu'on soit en semaine ou en weekend), et qu'on le fixe par exemple à 24 euros par jour, quelqu'un peut m'envoyer le code à insérer ?
 
Concrètement :
Date d'arrivée : arr
Date de départ : dep
Nombre d'adulte(s) : adu
Nombre d'enfants) : enf
 
Donc le calcul doit être le suivant :
dep - arr = dur (durée du séjour)
dur x 24 = mon (montant du séjour par personne)
mon x (adu + enf) = montant total du séjour
 
 
J'attends vos réponses avec grande impatience !   :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Calcul auto montant d'un séjour selon dates choisies

 

Sujets relatifs
Calcul d'une moyenneRécupérer variables utilisateur et mot de passe pour connexion auto
Calculs et notes de calcul[HTML/CSS/Javascript] Calcul coté client avec visualisation
Faire un calcul sans rafraichir une page php[OpenOffice] Calcul de prix
Création d'un générateur d'exercices de calcul mental aléatoireSQL-Firebird-Calcul heurespour planning
calcul mathematique simple, optimisation Javacoins arrondis sur conteneur centré auto
Plus de sujets relatifs à : Calcul auto montant d'un séjour selon dates choisies


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR