Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 15h58   #1
Invité de passage
 
Inscription : juin 2010
Messages : 18
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : juin 2010
Messages : 18
Points : 4
Points : 4
Par défaut Actualiser les données d'une page sans rafraichier la page.

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.
fredx76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h05   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
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+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h44   #3
Invité de passage
 
Inscription : juin 2010
Messages : 18
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : juin 2010
Messages : 18
Points : 4
Points : 4
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.
fredx76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 19h43   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
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+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 16h08   #5
Invité de passage
 
Inscription : juin 2010
Messages : 18
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : juin 2010
Messages : 18
Points : 4
Points : 4
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.
fredx76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 16h16   #6
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 269
Points : 7 269
Citation:
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?
Si ce n'est pas la page qui fait l'ajout et que la page qui a le formulaire et la page qui liste ne sont pas les mêmes, t'es obligés dans lancer une requête Ajax pour détecter s'il y a une nouvelle enregistrement.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2011, 20h59   #7
Invité de passage
 
Homme
Développeur Web
Inscription : août 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : août 2011
Messages : 3
Points : 4
Points : 4
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)
vincedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2011, 17h18   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par fredx76 Voir le message
pour le moment sur la page ajout je fait un insert into classique en php qui ajoute l'enregistrement dans ma table mysql et ca doit resté comme ca.
Citation:
Envoyé par fredx76 Voir le message
... 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.
Bonjour,
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
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h59.


 
 
 
 
Partenaires

Hébergement Web