Action quand bdd modifiée

Par Hirod, il y a 14 ans


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, il y a 14 ans

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

Hirod, il y a 14 ans

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.

MrGuillou, il y a 14 ans

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, il y a 14 ans

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

MrGuillou, il y a 14 ans

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

Hirod, il y a 14 ans

erf ><

Hirod, il y a 14 ans

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 ^^

stitox, il y a 14 ans

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 :)