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

PHP & Base de données Discussion :

Rafraichir page PHP après insertion


Sujet :

PHP & Base de données

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut Rafraichir page PHP après insertion
    Bonjour,
    Je cherche à rafraichir une page PHP et ceci après que ma base de donnée (MySQL) soit modifiée.
    Est-il possible de faire un truc du genre :

    SI
    mabasesql_est_modifiee
    ALORS
    rafraichir_cette_page

    Merci d'avance!

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonsoir !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(mysql_query($req,$cnx)){
       header("Refresh: 1;url=index.php");
    }

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Salut! Merci pour ta réponse.

    En fait, je me suis mal exprimé peut être...

    En gros je cherche le moyen de communication unidirectionnel et ceci de la base de donnée à la page PHP: Je veux que la base dise à ma page "Quequ'un a ajouté une ligne dans la table 'utilisateurs'" et que la page PHP en soit avertie pour se rafraichir"!

    Tu comprends?
    ( à mon avis c'est impossible mais bon... qui sait!!!)

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ha ouais d'accord alors la... Je sais pas si on peut en revanche tu peux gérer une tache cron qui toute les 5 minutes va vérifier si il y a eu des ajouts et te prévenir mais en temps réel je sais pas si c'est possible

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Oui c'est vrai que c'est un peu chaud!

    On pourrait faire des rafraîchissements toutes les n mili-secondes avec de l'AJAX... mais bon c'est pas du propre!!! Surtout si l'utilisateur veut par exemple sélectionner du texte et en plein rafraîchissement sa sélection disparaît!!!

    De toute façon, je vais creuser un peut quand même et essayer de trouver une méthode équivalente au Push des mails (par exemple sur Yahoo Mail tu vois un mail et se mettre au top de la liste de tes emails sans rafraîchissement ou désagrément!!!)!

    (en même temps j'ai posté le même sujet dans le forum Flex pour voir si ça existe au niveau des RIAs)

  6. #6
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut
    il ya un framework qui s'appelle prototype qui te permet de rafraichir sans avoir le desagrement de voir disparaitre la selection de l'utilisateur
    tu peux voir sur www.prototypejs.org

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ca pourrait servir pour ses besoins? A savoir qu'a chaque ajout d'un utilisateur lui, l'admin, soit prévenu par un rafraichissement ou pas (avec le framework que tu proposes)?

    Alors je pense que ca évite le rafraichissement c'est bien ca, mais je ne suis pas sur que cela réponde à sa question à moins que j'ai mal compris le fonctionnement du framework^^

  8. #8
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut
    En fait moi je lavai utilise pour faire un chat pour pouvoir afficher les messages et utilisateurs en temps réel.
    Avec prototype tu peut faire un count() de ta table maintenant si le count change tu affiche les dernières lignes insérées

  9. #9
    Membre éclairé
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Par défaut
    Plutot que de faire a chaque fois une requète sur ta base de donnée, pour vérifier si c'est a jour ou pas, tu peux simplement utiliser une zone partagée (soit en mémoire, soit en fichier), dans laquel tu as une variable last_update par exemple. De loa, tu as une requete ajax, toutes les X s/min qui va vérifier si la valeur de ta variable est la meme que celle que ta page a utiliser.

    Si last_update est plus récent que celle de ta page, alors tu mets à jour ta page (soit par ajax, soit en la rechargeant).

    Si tu souhaite tout de même passer par la base de donnée, tu peux aussi utiliser une table intermédiaire, soit en archive, soit en memory, afin d'effectuer les requetes. Cependant, je te déconseille fortement de faire de multiples connexion + count sur un tables en parralèle. Coté performance, c'est un peu catastrophique.

    Onet

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 406
    Par défaut
    Merci pour vos réponses!
    Je vais commencer par tester la dernière solution... ça m'a l'air intéressant.
    Après, si cela ne me convient pas, je vais passer, comme vous me l'avez bien conseillé, par l'AJAX.
    Je vais quand même marquer que ce post est résolu!
    Merci encore!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Rafraichir page PHP après un formulaire
    Par carkiko dans le forum AJAX
    Réponses: 1
    Dernier message: 11/05/2015, 18h41
  2. Rafraichir page php quand on ferme la popup
    Par than24 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/10/2012, 16h10
  3. [AJAX] Rafraichir un DIV apres insertion dans BDD
    Par Equinoxe5 dans le forum AJAX
    Réponses: 5
    Dernier message: 04/12/2009, 09h58
  4. Ouverture d'une page php après un "else"
    Par NeiBaF dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2009, 10h32
  5. Réponses: 1
    Dernier message: 10/02/2006, 17h19

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