Afficher le montant de façon automatique
Fermé
fedely0899
Messages postés
10
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
11 décembre 2018
-
10 déc. 2018 à 22:08
fedely0899 Messages postés 10 Date d'inscription lundi 10 décembre 2018 Statut Membre Dernière intervention 11 décembre 2018 - 11 déc. 2018 à 14:45
fedely0899 Messages postés 10 Date d'inscription lundi 10 décembre 2018 Statut Membre Dernière intervention 11 décembre 2018 - 11 déc. 2018 à 14:45
A voir également:
- Afficher le montant de façon automatique
- Message automatique thunderbird - Guide
- Afficher mot de passe wifi android - Guide
- Réponse automatique outlook - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Sommaire automatique word - Guide
4 réponses
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
10 déc. 2018 à 22:14
10 déc. 2018 à 22:14
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 !! )
fedely0899
Messages postés
10
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
11 décembre 2018
11 déc. 2018 à 11:34
11 déc. 2018 à 11:34
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
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
11 déc. 2018 à 12:00
11 déc. 2018 à 12:00
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
fedely0899
Messages postés
10
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
11 décembre 2018
11 déc. 2018 à 14:45
11 déc. 2018 à 14:45
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
Modifié le 10 déc. 2018 à 22:32
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.