Bonjour,
je cherche à calculer un tarif de location pour plusieurs bus à partir de variables calculées dans un formulaire (km et jours) et de coefficients stockés dans une base de données.
mon calcul fonctionne pour 1 ligne du tableau de bus. je bloque pour stocker et calculer les variables de la base de données.
pour l'instant, je récupère la dernière ligne de ma table de bdd.
je n'arrive pas à récupérer les coefficients de toutes les lignes de ma table et à faire les calculs de tarifs correspondants.
je dois afficher tous les bus avec leur tarif et le client choisi celui qu'il veut.
c'est moi qui bloque pour l'écriture du tableau...
si quelqu'un peut m'aider...merci.
calcul_tarif.php:
le javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <?php session_start(); //déclaration bdd include("config.php"); if(isset($_GET['km1']) && !empty($_GET['km1']) && isset($_GET['jour1b']) && !empty($_GET['jour1b'])){ $retour = ''; $km = $_GET['km1']; $jour = $_GET['jour1b']; $i = 0; mysql_query("UPDATE categories SET nbkm='$km',nbjour='$jour'") or die ("erreur requete".mysql_error(à)); $sql = "SELECT * FROM categories "; $req = mysql_query($sql) or die( mysql_error()); $nbrRep = mysql_num_rows($req); if($nbrRep > 0){ while($r = mysql_fetch_assoc($req)){ $retour .= $r['id_cat'].'-'.$r['nbkm'].'-'.$r['nbjour'].'*'.$r['coeff1'].'*'.$r['coeff2'].'*'.$r['coeff3'].'*'.$r['coeff4'].'*'.$r['coeff5'].'*'.$r['coeff6'].'*'.$r['coeff7'].'*'.$r['coeff8']; $i++; if($i != $nbrRep) $retour .= '/'; } echo $retour; }else echo false; }else echo false; ?>
et le formulaire the_form (result et jour1b sont bien alimentés plus haut dans le formulaire):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 function AJAX2(url){ if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", url, false); xhr_object.send(null); if(xhr_object.readyState == 4){ return xhr_object.responseText; } else return(false); } function CalculateTarif(){ var km1=document.forms['the_form'].elements['result'].value var jour1b=document.forms['the_form'].elements['jour1b'].value var rep; var tarif; var tmp; if(!(rep = AJAX2('calcul_tarif.php?km1='+km1+'&jour1b='+jour1b))){ alert('Erreur requête AJAX !'); }else{ rep = rep.split('/'); for(var i = 0 ; i < rep.length ; i++){ tmp = rep[i].split('*'); if(tmp[0] != '') t = km1*jour1b*tmp[2]; } e = parseInt(t); return e; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <td><div align="right">Trouver un bus :</div></td> <td><input type="button" value="bus" onClick="tarif.value = CalculateTarif()"/> <input name="tarif" id="tarif" value="" size="5"/></td>
Partager