Afficher le montant de façon automatique
fedely0899
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
fedely0899 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
fedely0899 Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à Tous,
Veuillez m'excuser pour la mauvaise expression de mon besoin.
En fait, ce que je souhaite faire, c'est enregistré des informations via un formulaire. Dans ce formulaire, il y a un champ ''HOTEL''' un champ '''FORMULE''' un champ ''''NUITEE''' et enfin un champ """"MONTANT''''''. Ce que je souhaite faire c'est que lorsque l'agent rempli le champ '''Hotel''' et le champ """FORMULE""" et le champ nuitee, le """MONTANT''' s'affiche automatiquement dans le champ ''''MONTANT''''' affilié à l'hotel correspondant à la formule (SINGLE ou COUPLE) pour 1, 2 ou 3 nuitée.
FORMULE = SINGLE ou COUPLE (Nous sommes dans le cas d'un hotel)
NUITEE = 1 nuit / 2 nuits / 3 nuits
MONTANT = Montant 1e nuitee/ Montant 2 nuitee / Montant 3 nuitee
J'espère avoir été explicite
Merci d'avance
Veuillez m'excuser pour la mauvaise expression de mon besoin.
En fait, ce que je souhaite faire, c'est enregistré des informations via un formulaire. Dans ce formulaire, il y a un champ ''HOTEL''' un champ '''FORMULE''' un champ ''''NUITEE''' et enfin un champ """"MONTANT''''''. Ce que je souhaite faire c'est que lorsque l'agent rempli le champ '''Hotel''' et le champ """FORMULE""" et le champ nuitee, le """MONTANT''' s'affiche automatiquement dans le champ ''''MONTANT''''' affilié à l'hotel correspondant à la formule (SINGLE ou COUPLE) pour 1, 2 ou 3 nuitée.
FORMULE = SINGLE ou COUPLE (Nous sommes dans le cas d'un hotel)
NUITEE = 1 nuit / 2 nuits / 3 nuits
MONTANT = Montant 1e nuitee/ Montant 2 nuitee / Montant 3 nuitee
J'espère avoir été explicite
Merci d'avance
A voir également:
- Afficher le montant de façon automatique
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Afficher appdata - Guide
- Sommaire automatique word - Guide
4 réponses
Tes données sont dans quels types de champs ? Select ? Input ?
Que vaut une nuit en formule Single ? en formule Double ?
Est-ce le même prix en fonction de l'hotel ?
Sinon où trouves tu les "tarifs" à appliquer ?
Quelle formule souhaites tu écrire ?
Sais tu coder un minimum en javascript ?
Sais tu ce que sont les "event" ? Onchange ? OnClick ? OnKeyUp ?
https://www.w3schools.com/jsref/event_onchange.asp
https://developer.mozilla.org/fr/docs/Web/api/Document/getElementById
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/parseFloat
https://www.w3schools.com/jsref/prop_text_value.asp
Reviens nous voir lorsque tu auras pris connaissance de ces liens et essayé d'écrire un minimum de code.
A ce moment là, j'espère que tu seras capable de nous expliquer la formule à appliquer ainsi que de nous indiquer où trouver les "montants" à utiliser pour ce calcul.
Sans ça.... IMPOSSIBLE de t'aider !
(déjà 10 fois que je te le dis !! )
Que vaut une nuit en formule Single ? en formule Double ?
Est-ce le même prix en fonction de l'hotel ?
Sinon où trouves tu les "tarifs" à appliquer ?
Quelle formule souhaites tu écrire ?
Sais tu coder un minimum en javascript ?
Sais tu ce que sont les "event" ? Onchange ? OnClick ? OnKeyUp ?
https://www.w3schools.com/jsref/event_onchange.asp
https://developer.mozilla.org/fr/docs/Web/api/Document/getElementById
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/parseFloat
https://www.w3schools.com/jsref/prop_text_value.asp
Reviens nous voir lorsque tu auras pris connaissance de ces liens et essayé d'écrire un minimum de code.
A ce moment là, j'espère que tu seras capable de nous expliquer la formule à appliquer ainsi que de nous indiquer où trouver les "montants" à utiliser pour ce calcul.
Sans ça.... IMPOSSIBLE de t'aider !
(déjà 10 fois que je te le dis !! )
Bonjour,
Merci pour tes réponses jusque là. Je viens de trouver quelque chose.
J'ai créé 2 tables à savoir table FORMULE (id, libelle) et la table NUITEE(id, nbre, montant, idform).
J'ai utilisé du jquery de table liée de sorte que lorsque je choisi la formule, dans le champ nuitee le nombre de nuitee disponibles pour cette formule y soit automatiquement ainsi que le montant.
Là j'arrive à choisir la formule mais ça ne fonctionne pas.
Voici mon code:
Pour afficher les infos automatiquement :
Ma liste déroulante :
Et enfin mon code pour afficher les nuitees dans le 2 ème menu déroulant
Merci d'avance pour l'aide
Merci pour tes réponses jusque là. Je viens de trouver quelque chose.
J'ai créé 2 tables à savoir table FORMULE (id, libelle) et la table NUITEE(id, nbre, montant, idform).
J'ai utilisé du jquery de table liée de sorte que lorsque je choisi la formule, dans le champ nuitee le nombre de nuitee disponibles pour cette formule y soit automatiquement ainsi que le montant.
Là j'arrive à choisir la formule mais ça ne fonctionne pas.
Voici mon code:
Pour afficher les infos automatiquement :
<script type='text/javascript'> function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } /** * Méthode qui sera appelée sur le click du bouton */ function go(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('nuitee').innerHTML = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","ajaxLivre.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id de l'auteur sel = document.getElementById('formule'); idauteur = sel.options[sel.selectedIndex].value; xhr.send("idform="+idform); } </script>
Ma liste déroulante :
<?php // $output = ''; // $query = "SELECT * FROM formula WHERE id_user = '$pid'"; // $result = mysqli_query($conna, $query); // $res = "SELECT * FROM formula"; $result = mysqli_query($conna, $res); if(mysqli_num_rows($result) > 0) { ?> <strong class="text-muted d-block mb-2">FORMULE</strong> <div class="form-row"> <div class="form-group col-md-12"> <select id='formule' class="form-control" name="nafor" onchange='go()'> <option selected value='-1'>Choisir la formule</option> <?php while ($row = mysqli_fetch_array($result)){ ?> <option value = "<?php // echo $row["type"] ; echo "|"; echo $row["nuitee"] ; echo "|"; echo $row["montant"] ; echo $row["id"]; ?>"> <?php //echo $row["type"] ; echo "|"; echo $row["nuitee"] ; echo "|"; echo $row["montant"] ; echo $row["libelle"]; } } ?> </option> </select> </div> </div> <div class="form-row"> <div id='nuitee' style='display:inline'> <select name='livre'> <option value='-1'>Choisir nuitee</option> </select> </div> </div>
Et enfin mon code pour afficher les nuitees dans le 2 ème menu déroulant
<?php echo "<select name='livre'>"; if(isset($_POST["idform"])){ $conn = new mysqli('localhost', 'ee', 'eee', 'eee'); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $res = mysqli_query("SELECT id,montant FROM formul WHERE idform=".$_POST["idform"].""); while($row = mysqli_fetch_assoc($res)){ echo "<option value='".$row["id"]."'>".$row["montant"]."</option>"; } } echo "</select>"; ?>
Merci d'avance pour l'aide
Tu dis avoir utilisé jquery pour tes listes imbriquées... mais tu as conservé du xmlhttprequest en "pur" javascript...
Si tu utilises Jquery, utilises donc l' Ajax.
https://www.w3schools.com/jquery/ajax_ajax.asp
Ensuite, lorsque tu nous dis que ça ne fonctionne pas ... c'est à dire ??
Tu as un message d'erreur ? As tu regardé dans la CONSOLE de ton navigateur ?
NB: Si tu utilises Chrome, pense à installer le plugin : https://chrome.google.com/webstore/detail/ajax-debugger/lgfefckpdealogpcfjdhinecfbcgedam
Si tu utilises Jquery, utilises donc l' Ajax.
https://www.w3schools.com/jquery/ajax_ajax.asp
Ensuite, lorsque tu nous dis que ça ne fonctionne pas ... c'est à dire ??
Tu as un message d'erreur ? As tu regardé dans la CONSOLE de ton navigateur ?
NB: Si tu utilises Chrome, pense à installer le plugin : https://chrome.google.com/webstore/detail/ajax-debugger/lgfefckpdealogpcfjdhinecfbcgedam
Je viens de trouver un bon tuto dessus sur ce que je recherche.
Là ça fonctionne avec JSON.
voici mon ficher
et ensuite :
Tout fonctionne bien je souhaite juste le rendre dynamique de sorte à ce qu'il échange avec ma BDD aussi que le montant s'affiche dans un INPUT au lieu de SELECT.
Merci pour l'aide
Là ça fonctionne avec JSON.
voici mon ficher
[
{
"id":"1",
"name":"SINGLE",
"parent_id":"0"
},
{
"id":"2",
"name":"COUPLE",
"parent_id":"0"
},
{
"id":"4",
"name":"1 nuitee",
"parent_id":"1"
},
{
"id":"5",
"name":"2 nuitees",
"parent_id":"1"
},
{
"id":"6",
"name":"3 nuitees",
"parent_id":"1"
},
{
"id":"7",
"name":"1 nuitee",
"parent_id":"2"
},
{
"id":"8",
"name":"2 nuitees",
"parent_id":"2"
},
{
"id":"9",
"name":"3 nuitees",
"parent_id":"2"
},
{
"id":"10",
"name":"194400",
"parent_id":"4"
},
{
"id":"11",
"name":"249400",
"parent_id":"5"
},
]
et ensuite :
<script> $(document).ready(function(){ load_json_data('country'); function load_json_data(id, parent_id) { var html_code = ''; $.getJSON('country_state_city.json', function(data){ html_code += '<option value="">Select '+id+'</option>'; $.each(data, function(key, value){ if(id == 'country') { if(value.parent_id == '0') { html_code += '<option value="'+value.id+'">'+value.name+'</option>'; } } else { if(value.parent_id == parent_id) { html_code += '<option value="'+value.id+'">'+value.name+'</option>'; } } }); $('#'+id).html(html_code); }); } $(document).on('change', '#country', function(){ var country_id = $(this).val(); if(country_id != '') { load_json_data('state', country_id); } else { $('#state').html('<option value="">Select state</option>'); $('#city').html('<option value="">Select city</option>'); } }); $(document).on('change', '#state', function(){ var state_id = $(this).val(); if(state_id != '') { load_json_data('city', state_id); } else { $('#city').html('<option value="">Select city</option>'); } }); }); </script>
<div class="form-group col-md-12"> <select class="form-control" id="country" name="nafor" onchange='go()'> <option selected value="">Choisir la formule</option> </select> </div> </div> <br /> <strong class="text-muted d-block mb-2">NOMBRE NUITEE</strong> <div class="form-row"> <div class="form-group col-md-12"> <select class="form-control" id="state" name="nafor" onchange='go()'> <option selected value="">Choisir le nombre</option> </select> </div> </div> <br /> <strong class="text-muted d-block mb-2">MONTANT</strong> <div class="form-row"> <div class="form-group col-md-12"> <select class="form-control" id="city" name="nafor" onchange='go()'> <option selected value="">Choisir le nombre</option> </select> </div> </div> <br />
Tout fonctionne bien je souhaite juste le rendre dynamique de sorte à ce qu'il échange avec ma BDD aussi que le montant s'affiche dans un INPUT au lieu de SELECT.
Merci pour l'aide
Ah si si je ccomprends mieux maintenant.
Je m'explique
Les montants des nuitee diffèrent par Hotel.
Exemple :
HOTEL PIERRE BERNARD
SINGLE 1e nuitée = 190400
SINGLE 2 nuitée = 200400
SINGLE 3 nuitée = 300400
COUPLE 1e nuitée = 341400
COUPLE 2 nuitée = 441400
COUPLE 3 nuitée = 541400
HOTEL LA COLINE
SINGLE 1e nuitée = 150000
SINGLE 2 nuitée = 189200
SINGLE 3 nuitée = 224000
COUPLE 1e nuitée = 278000
COUPLE 2 nuitée = 318400
COUPLE 3 nuitée = 441400
Mes champs sont présentement en SELECT pour le choix de la FORMULE et dunombre de nuitee et en INPUT pour le montant.
Concernant le javascript je m'y connais un peu. Néanmoins je jette un coup d’œil écrire un code.