Bonsoir,
bon j'ai un souci, je souhaiterais qu'une div de ma page affiche un message suivant une donnée précise dans une table sql.
J'utilise setInterval mais le souci c'est que même si la valeur change dans ma table sql, cela ne change pas sur ma page à moins que j'en ouvre un autre...
Pour mettre à jour j'ai sur ma page principale une fonction qui ouvre une page php (code fournit plus bas).
Merci d'avance pour ceux qui voudrons bien m'aider...
Page avec le script :
<script type="text/javascript" language="javascript">
function makeRequest(url) {
var httpRequest = false;
if (window.XMLHttpRequest) {
httpRequest = new XMLHttpRequest();
if (httpRequest.overrideMimeType) {
httpRequest.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Abandon : ( Impossible de créer une instance XMLHTTP');
return false;
}
httpRequest.onreadystatechange = function() { alertContents(httpRequest); };
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
function alertContents(httpRequest) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
document.getElementById("zone").innerHTML = ""+httpRequest.responseText;
} else {
alert('Un problème est survenu avec la requête.');
}
}
}
var timer=setInterval("makeRequest('a_qui.php')", 2000);
</script>
<div id="zone">
dfsdfsdfs
</div>
Page qui va cherché la donnée sur la table (a_qui.php) :
<?
include 'connect_db.php';
$sql = "SELECT a_qui FROM info where id='1'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$a_qui = $data['a_qui'];
if($a_qui=='1')
echo 'one';
else if($a_qui=='2')
echo 'two';
else { echo 'three'; }
?>
Je sais j'aurais pu utiliser un switch sur la seconde page, mais c'est juste pour faire des test....
Donc voilà j'ai beau changé la valeur a_qui dans la table rien ne change, a part si comme j'ai dit j'ouvre de nouveau la page entière ou si j'ouvre la page a_qui.php, ce qui fera quand dans ma page ou y a ma boucle la valeur changera par magie....:(
Bonne soirée/nuit/journée à vous
