Bonjour à tous !

Voila je voudrais que mon code PHP affiche instantanement un changement qui s'effectue dans la BDD, par exemple pour un temps d'attente que j'inquémente avec un cron.
Auriez-vous une solution ? merci d'avance pour vos réponses

5 réponses


Steve Host
Réponse acceptée

Bonjour, j'espert que se petit bout de codes pourrat t'aidez


                                <script type="text/javascript">
     URL = "index.php";

     var xhr=null;
     <!-- Fonction page 1 -->
     function rafraichir()
     {
        if (window.XMLHttpRequest) xhr = new XMLHttpRequest();
        else if (window.ActiveXObject) xhr = new ActiveXObject('Microsoft.XMLHTTP');
        else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...');
        xhr.open('GET','livepopup.php',true);
        xhr.onreadystatechange = ajaxReponse;
        xhr.send(null);
     }

     function ajaxReponse()
     {
        if (xhr.readyState == 4)
        {
                document.getElementById("live").innerHTML=xhr.responseText;
                var timer=setTimeout(rafraichir,5000);
        }
     }
rafraichir();  // C'est cette ligne qu'il manquer

</script>

DANS LIVEPOPUP.PHP
<?php
ob_start();
require_once 'db/db.php';
require_once 'db/init.php';
?>
<?php echo $stats -> livemsg$odb); ?>

DANS TON INIT.PHP

function livemsg($odb)
    {
        $SQL = $odb -> prepare("SELECT COUNT(*) FROM `users` WHERE `msg` = :id");
        $SQL -> execute(array(':id' => $_SESSION['ID']));
        return $SQL->fetchColumn(0);
    }

Bonsoir, hum, je réponds peut être à coté mais penche toi du côté d'Aajx !

Le code de Steve Host colle avec tes besoins. Néanmoins, si tu tiens vraiment à cette notion d'instantanéité, tu pourrais être intéressé par les fonctionalités d'événementiel apportées par socket.io/docs/ ou des bases de données comme rethinkdb.

N'hésite pas à fermer le topic si tu n'as pas plus de questions ;-)

Merci pour vos réponses :) à bientôt peut-être

Bonjour, flan
pour moi socket.io et plus difficile à installer alors qu'il suffit de créez un fichier et de mêtre les fonction dedans et de relier le tout au moin son site depant que de lui et non d'une solution d'un autres site.