Bonjour à tous !

J'aimerais savoir comment faire en jQuery et Ajax pour executé une action quand une action SQL est éxécutée (UPDATE, INSERT INTO, DELETE) sans faire une boucle infini ^^

Je ne sais pas du tout comment faire, si quelqu'un pouvais m'aider, ça serais sympa ^^

Cordialement, Corentin.

8 réponses


Hirod
Auteur

Je pense qu'il faut utiliser les sockets mais je ne sais pas trop comment ...

Hirod
Auteur

Je crois que je me suis mal exprimée.

Concraitement :
J'ai une page ou l'on peut modifier un texte dans la base de donnée via ajax/jquery.

Imagineons que deux personnes soit sur la pages. Si l'une modifi le texte, je voudrais que le texte s'actualise automatiquement sur la page de l'autre.

2 Solutions

Soit un serveur nodeJs + socket.Io

http://www.atinux.fr/2011/08/28/tutoriel-socket-io-debutant/

Soit en php dans une boucle coté serveur qui regarde toutes les secondes si il y a une modification, si oui, tu stops la boucle

function jeRegarde()
{
    for ($i = 1; $i <= 30; $i++) {
        //tu regarde si il y a une modif
        if (ici mon test)
        {
            //si oui tu return ton résultat
            return 'blabla';
        }        
        //si il n'y a pas de modification tu fais une pause de 1 seconde puis tu re-boucle
        sleep(1);
    }
}
echo jeRegarde();

du coté client, tu exécutes la requête ajax toute les 30s

Si d'autres personne ont des solutions, je suis preneur

Hirod
Auteur

Perso, j'ai codé un scrit python pour coté serveur et j'aimerais utilisé les sockets via jQuery mais je ne sais pas comment ><

Faut regarder du coté html5 webSocket, mais il n'y a que les navigateurs récents qui supportes

Hirod
Auteur

erf ><

Hirod
Auteur

Il doit forcément y avoir un moyen de le faire en jQuery :(

Sinon, j'ai entendu parler de "APE" pour jQuery. Quelqu'un peut-il m'en dire plus à ce sujet ? Merci ^^

tu peux faire un timer avec du JS, chque 1min par exemple tu appelles une fonction, à l'intérieur de cette fonction, tu fais une requette Ajax qui récupère des données de la base, s'il y a de nouveaux enregistrements, tu fais un mise à jour, je ne sais pas si t'as compris l'idée, sinon je ne sais même pas s'il est pro ou pas lol, en tout cas ça va fonctionner :)