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 :

Mettre à jour BDD à partir d'un lien généré


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 57
    Points
    57
    Par défaut Mettre à jour BDD à partir d'un lien généré
    bonjour, je m'excuse mais je suis vraiment perdu et je n'arrive pas à voir comment je fais faire pour m'en sortir

    Ma BDD peut-être mise à jour à tout moment, et lorsqu'elle est mise à jour j'ai un tableau qui s'affiche (et qui augmente à chaque mise à jour) sur mon site

    Dans mon tableau, je clique sur un lien qui me permettrait de mettre à jour la BDD. Par, exemple, si on veut faire une note de 1 à 5, et on clique sur la note "2" => on met à jour la BDD et on fait un calcul

    A chaque fois, que mon tableau grandit, on retrouve à chaque fois les liens avec les notes

    Mais alors, comment je peux dire qu'à chaque fois que je clique sur 1 note(=1lien), je mets à jour la bonne partie de ma base de donnée

    Exemple: j'ai le produit N°1, je lui met la note 2, comment je fais pour mettre à jour automatiquement, la moyenne des notes du produits dans la base de donnée?

    Merci de votre aide pour m'aiguiller

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    En théorie, tu ne dois pas stocker de donnée calculée dans la base, mais la calculer à chaque interrogation, afin qu'elle soit toujours à jour.

    Si tu veux néanmoins garder ton modèle actuel, le mieux est d'utiliser un trigger (disponible à partir de la version 5.0).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 57
    Points
    57
    Par défaut
    okok merci pour la réponse,

    j'ai réussi à résoudre mon problème comme ceci :
    Lorsque, je clik sur le lien, je peux récupérer l'ID de la BDD et je passe mon ID dans le lien en methode GET puis sur la nouvelle page je fais des requetes pour récupérer les données suivant l'ID récupéré puis un calcul en javasrcipt et je remet à jour la BDD

    MAIS

    je n'aime pas utiliser la methode GET

    Que puis-je faire? (à noter que j'utilise une image pour le lien)

    aurez-vous un lien pour expliquer ce que c'est un trigger?

    merci

  4. #4
    Membre habitué Avatar de greg13
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 144
    Points : 156
    Points
    156
    Par défaut
    Un trigger en francais "déclencheur" est une action préprogrammée que la base de donnée execute d'elle même par exemple lors de mise à jour d'un enregistrement ou d'un autre évenement. Je sais pas si c'est la définition exacte, mais j pense bien que c'est ça.

    EDIT : C'est peut etre pas tres joli les GET mais au niveau de la requete http ca change pas grand chose.

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Si je suppose que tes notes sont dans notes.note et ta moyenne dans moyenne.moy, ça donnerait qqch comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER ReCalculMoyenne AFTER INSERT ON notes
    UPDATE moyenne 
    SET moy = (
      SELECT AVG(note)
      FROM notes
    ) ;

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 107
    Points : 57
    Points
    57
    Par défaut
    ok,

    auriez-vous un lien qui explique les triggers?

    merci

Discussions similaires

  1. Mettre à jour BDD Mysql après modif avec Ajax
    Par stephw57 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/05/2012, 20h32
  2. [AC-2003] Mettre à jour BD à partir d'une autre
    Par bibilolo2 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 15/05/2009, 09h14
  3. Talend mettre à jour BDD Oracle avec variable globalMap
    Par lolotte35 dans le forum Développement de jobs
    Réponses: 9
    Dernier message: 17/07/2007, 11h42
  4. mettre à jour mysql à partir de oracle
    Par medonline dans le forum Outils
    Réponses: 4
    Dernier message: 16/10/2006, 13h34
  5. [ADO.NET][VB.NET]Comment mettre à jour BDD avec DataSet?
    Par fuhraih dans le forum Accès aux données
    Réponses: 1
    Dernier message: 17/01/2006, 16h35

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