bonjour
j'espére trouver içi quelqu'un qui sait comment detecter un changement dans une base de donnée et exécuter un script ou afficher une page.
merci
bonjour
j'espére trouver içi quelqu'un qui sait comment detecter un changement dans une base de donnée et exécuter un script ou afficher une page.
merci
De quelle base de donnée parles-tu ?
Par quoi est réalisée le changement que tu dois detecter ?
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
la base Mysql
le changement et soit insertion soit suppression d'un enregistrement de la base
et je veu qu'une page internet s'acctualise dés qu'un chanegement aura lieu
merçi
A mon avis c'est plutot de l'Ajax dont tu parle, un peu à la manière de facebook qui actualise le fil principal quand quelqu'un réalise une action.
oui
exactement
je pense bien d'utiliser ajax
mais j'arrive pas a trouver comment le faire
il faut que tu passes par une fonction AJAX envoyant dans un div une page php qui elle check ta base pour voir s'il y a eu du changement (ie: si un champ de table est différent d'une variable de session stockée au préalable par exemple)
Code javascript : 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 function affichePage(url, div){ var xhr_object = null; if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest(); else if (window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); xhr_object.open("GET", url, true); xhr_object.onreadystatechange = function(){ if (xhr_object.readyState == 4 && xhr_object.status == 200) document.getElementById(div).innerHTML = xhr_object.responseText; else document.getElementById(div).innerHTML = 'En attente...'; } xhr_object.send(null); } url -> le lien vers ta page php div -> le div dans lequel tu veux que ta page php soit appelée
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //ta page php appelée // connexion à ta base et récupération du champs... if(!isset($_SESSION['valeur']) || $ton_champ != $_SESSION['valeur']){ $_SESSION['valeur'] = $ton_champs; // reste du traitement... }
merçi bien mon ami pour votre aide
mais le contrôle aura lieu périodiquement ou comme ?
ce que j'ai compris que dans un delai précis au lieu de reflaichir la page on controle si il y'as changement on le reflaichir si non on fait rien
c'est ça ??
en tout cas
je vas l'essayer et voir si c'est ça que je cherche
merçi beaucoup
Salut
Sans vouloir contredire qui que ce soit, mais à part faire des truc comme des procédures stockées, ce qui se réserver à des initiés, la plus grande majorité des cas une requête de mise à jour comme des UPDATE, INSERT INTO ou DELETE, c'est un code que l'on l'on fait explicitement, et ça dans sa page (ou autre fichier).
On sait donc parfaitement quand, à quel moment elles seront exécutées.
Du coup, je ne parviens pas à voit l'intérêt de faire une requête Ajax pour rechercher une donnée qui serait modifiée alors qu'on le sait.
Si on souhaite proposer un contenu, une page selon qu'il y a eu ou pas une mise à jour, alors faire une redirection (un header) juste après la dite mise à jour est une technique très couramment utilisée.
En gros, et par exemple :
SI UPDATE -> on redirige vers une page X
SI INSERT INT -> on redirige vers une page Y
SI DELETE FROM -> on redirige vers une page Z
SI aucune mise à jour, alors on propose la page demandée au départ.
La plupart du temps, tout tient dans le déroulement de son script.
Il y a des trucs à faire avant pour que l'on puisse proposer le bon contenu selon l'opération (précédente).
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
Effectivement, j'avais homis ce détail :Envoyé par ThomasR
Du coup, l'Ajax ici s'impose, du moins, c'est celle qui serait le plus adaptéeEnvoyé par phpeur
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager