Bonjour,
Je travaille sur un site de campagne emailing. Chaque campagne dispose d'un bouton play / pause. Quand je clique sur le bouton play, un script php (campagne_lancer.php) est appelé.
Je souhaite mettre un système de décompte d’envoi de mail : reste 10 mails sur 10 , reste 9 mails sur 10, reste 8 mails sur 10...
Pour rafraîchir le résultat, j'ai créé la fonction rafraichir que je vais appeler via la fonction setinterval !
Le problème est : lors de la première boucle du setinterval, ma variable idr est définie (par exemple idr : 6) mais lors de la deuxième boucle, elle devient indéfinie.
idr est définie lors du clic sur le bouton play. Donc comme je clique plus sur le bouton, idr devient indéfinie et mon décompte ne s’affiche plus...
Auriez vous une idée pour que ma variable idr ne disparaisse plus ?
Je suis débutant dans le domaine et je ne sais pas si j'ai été très clair.
Merci votre aide.
Voici mon code 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 function lancer(idCam,idr){ // // console.log("lid de la campagne est : " + idCam); setInterval("rafraichir(idr)", 100); var url = 'campagne_lancer.php?id_camp='+idCam; xhr_object.open("GET",url, true); xhr_object.send(null); //filtre(); } function rafraichir(idr){ if (window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); console.log("lidr du rafraichir est : " + idr); var url = 'reste.php?idr=' + idr; xhr_object.open("GET", url, false); xhr_object.send(null); $("#reste_"+idr).html(xhr_object.responseText); //document.getElementById('reste_' + idr).html(xhr_object.responseText); } var isClicked ="false"; function change(x,id,id2,idr){ if(isClicked == "false"){ x.src="campagne_stopper.png"; document.getElementById('gif_' + id2).innerHTML = 'En cours d\'envoi <img src="barre.gif" height="5" width="30">'; isClicked = "true"; lancer(id,idr);
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <img src="campagne_lancer.png" onclick="change(this,<?php echo($resultat['id']); ?>,<?php echo($resultat['id']); ?>,<?php echo($resultat['id']); ?>)" style="cursor:pointer" width="55" "> <span style="font-size:11px"><span id="reste_<?php echo($resultat['id']); ?>" class="reste_<?php echo($resultat['id']); ?>">Reste <?php echo $cnt8 ?> sur <?php echo($aff3['nb_emails']); ?></span></span></td> <input type="enable" id="idri_<?php echo($resultat['id']); ?>" value="<?php echo($resultat['id']); ?>">
Mon code reste.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php if(isset($_GET['idr'])){ $db = mysqli_connect('localhost', 'root', '', 'test') or die(mysql_error()); $idr = $_GET['idr']; $nbr6 = 'copy'.$idr; //echo $nbr6; $sql8 = " select * from ".$nbr6." "; $req8 = mysqli_query($db,$sql8) or die ("ERROR SQL 8" .mysql_error()); $aff8 = mysqli_fetch_assoc($req8); $cnt8 = mysqli_num_rows($req8); echo "Reste ".$cnt8." sur 30 "; //} } ?>
Partager