|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 18 ![]() |
Bonjour,
Je rencontre un problème pour actualisé les données d'une page sans rafraichir la page entière, je m'explique : je développe une application php qui contient deux pages : - une page ajout.php qui contient un formulaire qui permet d'enregistrer des appels téléphonique (nom de la personne, numéro etc...) dans une table "appels" de ma base mysql. - une page appels.php qui affiche les enregistrements de la table appels ligne par ligne. Seulement voila si j'ajoute un nouvel enregistrement dans ma table via ma page ajout.php je suis obligé d'actualisé ma page appels.php pour le voir apparaitre ce que je ne souhaite pas. je souhaiterai que l'enregistrement s'ajoute automatiquement sur ma page appels.php sans rafraichir. J'ai fait des recherches sur google et j'ai vu que c'était possible avec AJAX et httprequest mais je n'est pas réussi a comprendre le fonctionnement. Pouvez vous m'aider svp? Merci par avance. |
|
|
00
|
|
|
#2 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 128 ![]() |
Bonjour,
L'ajout se fait-il déjà avec AJAX? Si c'est le cas regarde la FAQ javascript (Comment ajouter une ligne à un tableau ?) pour ajouter la ligne sur le tableau si l'ajout est réussi. Sinon, commence par ton AJAX. A+. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 18 ![]() |
Non l'ajout ne se fait pas par ajax. pour le moment sur la page ajout je fait un insert into classique en php qui ajoute l'enregistrement dans ma table mysql et sa doit resté comme sa.
ce que je veux c'est sur la page qui affiche les enregistrements de ma table mysql via une requête select et une boucle classique, c'est lorsqu'une nouvel ligne est enregistrer dans ma table qu'elle soit directement détecté sur la deuxième page et s'affiche a la suite. Sur cette application la page qui permet l'ajout d'un appels et la page qui permet de consulter les enregistrements seront ouverte sur deux poste différents. |
|
|
00
|
|
|
#4 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 128 ![]() |
Crée une fonction AJAX dans la page qui affiche les données laquelle tu lances à chaque intervalle de temps pour vérifier s'il y a ou non une nouvelle enregistrement. Si une nouvelle enregistrement existe, tu la récupères et ajoutes au tableau.
Commence par lire le tutoriel AJAX. A+. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 18 ![]() |
Je souhaite que l'ajout sur ma page se fasse instantanément (et non pas tous les temps de temps) après ajout d'une ligne dans ma base.
Pouvez-vous me donner un exemple de code permettant de détecter un nouvel enregistrement dans une table et donc d'afficher celui ci sur une page php? Y a t il un moyen de lier une fonction d'une page a une table et lorsqu'un enregistrement supplémentaire est fait la page ajout celui ci? Je suis preneur de tout code exemple même sans rapport spécial qui me permettrait d'avancer. Merci par avance. |
|
|
00
|
|
|
#6 | |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 128 ![]() |
Citation:
A+. |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Développeur Web Inscription : août 2011 Messages : 3 ![]() |
ton problème c'est que c'est 2 pages différentes donc il faut faire tourner une fonction ajax en boucle sur ta page appels.php pour qu'elle vérifie si aucun nouvel enregistrement n'est apparu auquel cas elle refraîchit ton tableau en javascript.
pour faire tourner une telle fonction t'as 2 solutions : -la fonction setInterval('fonction','interval_en_milisecondel') exemple : setInterval(rafraichir(),1000); ->j'appelle ma fonction toutes les secondes ou setTimeout()... utilisé pour les script d'horloge dynamque et les compte à rebours. Les 2 fonctions font le même boulot - ou sinon tu peux rappeler la fonction rafraichir() a chaque fois que tu reçois la réponse d'HTTPREQUEST ( status 200 readystate 4) |
|
|
00
|
|
|
#8 | ||
![]() ![]() |
Citation:
Citation:
tout ca n'est pas très cohérent avec "ajax + sans rafraichir la page". D'après ce que je comprends, tout ce que tu as à faire : - APRES avoir inséré ou modifier un enregistrement -> tu fais une requête dans ta Bdd pour ré-afficher le tableau. Tu pourrais au moins mettre un peu de code : au moins, la structure de principe. Ajax n'est pas très compliqué, une fois qu'on a compris le principe de base. - Introduction à AJAX et interaction avec PHP (facile à lire, avec exemples commentés)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com