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 :

Historique des changements


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut Historique des changements
    Bonjour, je travaille actuellement sur un projet gestion de parc informatique .
    Je voudrais savoir s'il était possible, à partir de PHP / MySql de retracer l'historique des modifications apportées sur les enregistrements de la base de données.

    Exemple, le 10/11/2009, on a changé l'adresse IP de 192.168.0.20 à 192.168.0.30 ....


    Quelqu'in peut il me conseiller ?
    Déjà , comment est ce possible ?

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Si les logs mysql sont actifs, tu devrais pouvoir retrouver toutes les requêtes SQL qui ont été exécuté sur le serveur

    http://dev.mysql.com/doc/refman/5.0/fr/log-files.html

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux quelque chose de plus exploitable, il suffit de le faire toi meme en enregistrant dans une table historique l'ancienne et la nouvelle valeur de tes elements quand tu fais un UPDATE
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Par défaut
    Ok merci pour ces infos, la 2 eme solution, proposé par sabotage semble la plus adapté ....
    Par contre, comment est ce que je peux m'y prendre ....
    Il me faut quoi comme champs dans cette table , un champs id, un champs date, et un champs modification ??


    Comment ensuite, je peux enregistrer mes modifications dans une table ? Grâce à PHP ?


    Par exemple, si je prend la table equipement :
    id_equipement | id_type_equipement | id_client | nom | date | statut comment | note


    Si par exemple, je modifie le nom : server1 par server2

    Il faudrait que j'écrive dans un fichier php, la requete "Update nom from equipement set ....."


    Tu peux m'en dire un peu plus sabotage ?

  5. #5
    Membre éprouvé Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 861
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 861
    Par défaut
    Au niveau de tes champs, tu peux faire un truc du genre:

    ID | TIMESTAMP | USR | FIELD | OLD | NEW

    ID: clé primaire auto-incrémentée
    TIMESTAMP: je crois que c'est assez évident
    USR: pour dire qui a fait la modification
    FIELD: nom du champ modifié
    OLD: ancienne valeur du champ FIELD
    NEW: nouvelle valeur du champ FIELD

    Ce qui fait qu'en principe ta table d'historique est suffisamment générique pour être utilisée avec toutes tes autres tables. (en principe, si tu as une bonne nomenclature pour tes noms de champs, il n'y a pas de problème)

    Ensuite, tu peux effectivement le faire au niveau de PHP mais si un développeur oublie de le faire à un moment donné, il te manquera des informations. Idem si il y a une modification faite directement en base par un admin.

    Pour pallier à ça, une autre solution serait de placer des triggers sur les champs à logguer mais le problème est la perte de performances.

  6. #6
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    il faudrait aussi que tu vides cette table tous les jours, mois etc...
    sinon, elle risque d'etre volumineuse assez rapidement...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

Discussions similaires

  1. historique des changements effectuées avec vk12
    Par soufiane669 dans le forum SAP
    Réponses: 2
    Dernier message: 01/06/2011, 08h31
  2. [OL-2007] Historique des changements dans les tâches
    Par Nightwulf dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 14/03/2011, 03h52
  3. Editeur qui affiche l'historique des changements ?
    Par AppleGuy dans le forum Editeurs / Outils
    Réponses: 1
    Dernier message: 24/09/2007, 11h34
  4. Réponses: 1
    Dernier message: 26/10/2005, 14h35
  5. historique des bases de donnees
    Par killer dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 31/05/2005, 07h49

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