IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Actualiser les données d'une page sans rafraichier la page.


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Points : 12
    Points
    12
    Par défaut [AJAX] 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.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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+.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    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.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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+.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    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.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    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+.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    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
    Par défaut
    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)

  8. #8
    Invité
    Invité(e)
    Par défaut
    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)
    Dernière modification par Invité ; 21/08/2011 à 17h29.

Discussions similaires

  1. [WD10] actualiser les données d'une table mémoire
    Par alimohamed1 dans le forum WinDev
    Réponses: 2
    Dernier message: 30/06/2010, 13h43
  2. actualiser les données d'une DataGridView
    Par meryDev dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/07/2009, 09h41
  3. [AJAX] Afficher les données d'une table AJAX PHP
    Par tetepro dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/04/2008, 21h59
  4. Réponses: 0
    Dernier message: 27/11/2007, 22h59
  5. Actualiser les données d'une page à partir d'une autre
    Par kapikapi dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/06/2006, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo