Bonjour,
J'ai réalisé un tableau ou l'utilisateur peut choisir les données à afficher exemple :
Tache 1 - Gain +1000 - Catégorie A
Tache 2 - Gain +1000 - Catégorie A
Tache 3 - Gain -1000 - Catégorie B
L'utilisateur peut choisir d'afficher toutes les catégories, ou seulement les catégories A ou seulement les catégories B.
Quelque que soit les lignes que désirent afficher l'utilisateur, je veux récuperer le gain total pour chaque lien affichées.
Exemple :
Si l'utilisateur choisis d'afficher seulement les catégories A alors le gain total est de : +2000€ si il choisis d'afficher seulement les catégories B alors le gain total est de -1000€.
Mon souci c'est que je n'arrive pas à prendre en compte le choix de l'utilisateur.
Voici mon code Ajax :
Ce code permet de connaitre les checkbox cochés et de faire le traitement.
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
39
40
41
42
43 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){ alert(xhr.responseText); } } exploit = ""; infra = ""; bat = ""; // false : pas cochée - true : cochée if(document.getElementById('checkA').checked == true && document.getElementById('checkB').checked == false) { exploit = "A"; data="Exploitation="+exploit; } xhr.open("POST","tableau_bord.php",true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(data);
Appel de la fonction go() :
Et le traitement pour le gain total :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <input type="checkbox" onclick="go()" checked id="check2" name="check[]"
Et lorsque je décoche catégorie B, le gain total ne s'affiche pas, lorsque tout est coché tout est ok.
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 if(isset($_POST['A'])) { echo "je rentre"; $sum = "SELECT DISTINCT SUM(tableau_gain_e) , SUM(tableau_gain_c) FROM tableau_bord WHERE tableau_type != 'B' ORDER BY tableau_gain_e"; $query_sum = mysql_query($sum); $_sum = mysql_fetch_array($query_sum); echo $_sum[0]; echo '<td align="center" id="contenu_tab" class="e_tot" style="display:none;" bgcolor="white">'.$_sum[0].'</td>'; echo '<td align="center" id="contenu_tab" class="c_tot" style="display:none;" bgcolor="white">'.$_sum[1].'</td>'; } else { $sum = "SELECT DISTINCT SUM(tableau_gain_e) , SUM(tableau_gain_c) FROM tableau_bord WHERE ORDER BY tableau_gain_e"; $query_sum = mysql_query($sum); $_sum = mysql_fetch_array($query_sum); echo '<td align="center" id="contenu_tab" class="e_tot" style="display:none;" bgcolor="white">'.$_sum[0].'</td>'; echo '<td align="center" id="contenu_tab" class="c_tot" style="display:none;" bgcolor="white">'.$_sum[1].'</td>'; }
je précise que tout est sur la même page (l'affichage de mon tableau + l'appel ajax)
Partager