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

JavaScript Discussion :

Affichage des notifications suite à des modifications dans un BD


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Affichage des notifications suite à des modifications dans un BD
    Bonjour,
    SVP comment faire pour afficher des notifications suite à une modifications dans une base de données ( ajout, suppression et mise à jour)

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Tu utilises ajax ? ou un formulaire classique en get ou post ?
    tu utilises une librairie de type jquery ?

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    J'utilise des formulaires en post et une bibliothèque JQuery.
    Merci d'avance SpaceFrog

  4. #4
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 713
    Points
    8 713
    Billets dans le blog
    43
    Par défaut
    Bonjour,

    J'ai l'impression que la réponse à ton besoin serait plus à chercher du côté serveur.

    Si tu utilises un serveur PHP, JSP, ASP, etc, il serait plus judicieux pour toi de poster ta demande dans le forum correspondant.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    si tu utilises jquery je te conseillerais de faire tes mises à jour en ajax et d'utiliser le callback de l'ajax pour afficher tes messages de mise à jour.
    le message étant lui généré par le serveur

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    merci SpaceFrog pour ton aide, mais mon problème est que la base de données peut être modifier soit par un admin ou par un user. Par exemple, un admin ajoute un nouveau projet à la table projet (en remplissant un formulaire), alors tous les champs seront remplis sauf celle qui contient un id vers un user ( le user c'est celui auquel l'admin a assigné ce projet), et ce champ ne sera rempli qu’après que le projet soit accepté par le user. Donc au moment ou le user accepte le projet: ce champ sera rempli et je doit afficher une notification sur la page web de l'admin pour l'informer que le user à accepté le projet.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    cela n'a pas grand rapport avec js...
    c'est une question de gestion de profils ça se gère coté serveur avec une gestion des droits etc ...

  8. #8
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    SpaceFrog, est ce que tu peux me donner plus de détails , puisque la partie gestion et accès à la BD est déjà fait, mais ce qui me reste c'est l'affichage des notifications et je ne sais pas comment le faire.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Atika90 Voir le message
    la base de données peut être modifier soit par un admin ou par un user :
    • 1/ ...un admin ajoute un nouveau projet à la table projet...
    • 2/ ...au moment ou le user accepte le projet
    • 3/ ...je doit afficher une notification sur la page web de l'admin pour l'informer que le user à accepté le projet.
    On voit ici qu'il s'agit de 2 PERSONNES DIFFERENTES !
    Rien à voir avec une "notification en temps réel".

    Il s'agit ici de "garder une trace" des actions réalisées, et consultables par les admins.
    => EN BASE DE DONNEES

    Il faut :
    1/ "au moment ou le user accepte le projet" :
    => enregistrer EN BASE DE DONNEES, pour le projet dans un champ "projet_accepte" = true/false (ou oui/non ou 0/1)

    2/ QUAND l'admin se connectera, il suffit de TESTER la valeur du champ "projet_accepte" pour afficher ou non une notification :
    "Projer accepté par l'utilisateur".

    N.B. Et SI cela ne correspond pas (non plus) à ton besoin, c'est SANS DOUTE que tu l'as MAL EXPLIQUE...

  10. #10
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Merci jreaux62 pour ton aide.
    Pour bien expliquer mon pb: dans l'application, il y a deux partie: une partie web qui fait la gestion ( par un administrateur) et l'autre partie mobile ( user) .
    et les deux partie ont accès à la BD. donc moi je veux que l'administrateur soit au courant qd un user accepte le projet.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Atika90 Voir le message
    ...je veux que l'administrateur soit au courant qd un user accepte le projet.
    C'est donc bien ce que j'ai proposé.

  12. #12
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    La solution que ns avons déjà adapté c'est celle que vs avez proposé: Dans l'historique l'admin peut consulter tous les projets, mais nous nous voulons que les notifications soient en temps réel: l'admin doit s'informer une fois un projet est accepté

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Atika90 Voir le message
    ..., mais nous nous voulons que les notifications soient en temps réel...
    Toute modif. en base de données est quasi-instantanée, donc consultable de suite par l'admin.
    Je ne vois pas où est le problème...

    Que signifie pour toi "en temps réel", puisque l'admin et le user ne sont pas sur la même machine, ni forcément connectés en même temps ?

    A moins que...
    ... l'on envisage un fonctionnement du type Facebook ? (des "alertes" apparaissent quand un autre ajoute un message, ou autre)
    Dans ce cas, sauf erreur, il faut passer par AJAX, qui va effectuer A INTERVALLE REGULIER des requêtes en base de données pour vérifier si des modifications ont été apportées.

    C'est bien ça ?

  14. #14
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    J'ai dit en temps réel , car l'administrateur a pour mission de gérer les taches et de suivre le user ( c une application de webtracking) et l'administrateur et le user sont connectés en même temps.

  15. #15
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    Et qu'est ce qui empeche de fair eune mise a jour régulière de l'affichage de l'admin ?

  16. #16
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 713
    Points
    8 713
    Billets dans le blog
    43
    Par défaut
    A priori, avec ce qui t'a été répondu à ta question, et ce malgré les informations parcellaires et au compte-goutte que tu as donné, tu devrais pouvoir avancer.

    Comme cela a déjà été dit, il faut que tu fasses une recherche du côté de l'AJAX et plus précisément de l'objet XMLHttpRequest qui te permettra d'appeler à intervalle régulier un script PHP qui lui-même devra renvoyer un résultat au format XML.

    Le script PHP sera celui qui ira interroger l'historique des changements de ta BD pour savoir s'il y a quelques notifications à afficher sur l'espace web de l'administrateur.

  17. #17
    Invité
    Invité(e)
    Par défaut
    Voici un petit script de mon cru :
    Code : 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
    25
    26
    27
    28
    29
    30
    31
    32
    <html>
    <head>
    	<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    	<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script> 
    	<script>
    	$(document).ready(function(){
    		showNotification();
    	});
    	var i = 0; // compteur
    	function showNotification() {
    		// ICI : on peut faire un appel AJAX vers un fichier PHP, qui va interroger la Base de données.
    		// S'il y a une notification à afficher, on l'affiche :
    			var datehoraire = $.datepicker.formatDate('dd/mm/yy', new Date())+' '+new Date().toLocaleTimeString();
    			var spanX = ' - <span onclick="delNotification('+i+');">X</span>';
    			var reponse = '<div id="notif' + i + '">' + datehoraire + ' - notification ' + i + spanX + '</div>';
    			$('#notification').prepend(reponse); // prepend : on l'affiche en tête du div
    			i++;
    		if(i<10){ // pour TEST
    			window.setTimeout(showNotification, 2000); // Toutes les 2 secondes
    		} // pour TEST
    	}
    	function delNotification(i) { // suppression de la notification au clic sur le "X"
    		$('#notif'+i).remove();
    	}
    	</script>
    </head>
     
    <body>
    <div id="notification"></div>
     
    </body>
    </html>
    Ce script affiche toutes les 2 secondes (pour l'exemple) une ligne du type : "21/08/2013 19:10:28 - notification 8 - X"
    21/08/2013 19:10:30 - notification 9 - X
    21/08/2013 19:10:28 - notification 8 - X
    21/08/2013 19:10:26 - notification 7 - X
    21/08/2013 19:10:24 - notification 6 - X
    21/08/2013 19:10:22 - notification 5 - X
    21/08/2013 19:10:20 - notification 4 - X
    21/08/2013 19:10:18 - notification 3 - X
    21/08/2013 19:10:16 - notification 2 - X
    21/08/2013 19:10:14 - notification 1 - X
    21/08/2013 19:10:12 - notification 0 - X
    Je te laisse le soin de créer l'appel AJAX et le fichier PHP qui effectuera et traitera la requête.

  18. #18
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Voici le fichier notifications.php :

    Code php : 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
     
    <?php
        include_once('../../Models/Query_project.class.php');
        $obj1 = new Query_project();
        $json = array();
        session_start();
        $st='moved';
        $obj1->search_assigned($st);
        $data = $obj1->get_data();
     
             while($data)
              {
    	      $reponse='Le projet'.$data['id_projet'].'du client '.$data['nom_client'].' est assigné à'.$data['nom_user'].$data['prenom_user'];
     
             }
    ?>

    Et le fichier requete-ajax.js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $(document).ready(function() {rafraichissement();}) 
      function rafraichissement(){ 
     
        $.ajax({ 
         type: "POST", 
         url:"notifications.php",         
         success:function(reponse) {      
          $('#notifications').html(reponse); 
     
          setTimeout("rafraichissement()", 5000); 
         } 
        }); 
     
      };
    Et dans le code de l'interface standard j'ai ajouté dans l'en tête :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="doc_js/requete-ajax.js"></script>

    Puis :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="notifications"></div>

    Quand j’exécute le code, rien ne s'affiche.

Discussions similaires

  1. [PostgreSQL] Affichage des notifications suite à des modifications dans un BD
    Par Atika90 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/08/2013, 21h52
  2. Affichage page par page des résultats avec des pointillés pour les numeros de page
    Par lewhechris dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/10/2011, 13h15
  3. Réponses: 9
    Dernier message: 26/03/2011, 10h46
  4. Activer de suite une modif dans la base de registre
    Par cincap dans le forum Débuter
    Réponses: 14
    Dernier message: 11/12/2009, 18h02
  5. Réponses: 3
    Dernier message: 23/01/2007, 09h14

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