Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 17/03/2010, 22h06   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut Conserver et suivre les modifications dans mySQL

Bonsoir,
Existe t il à votre connaissance un moyen simple pour conserver un historique des modifications dans MySQL.(c'est à dire sans modéliser)
L'objectif est de savoir qui a fait quoi, mais surtout de pouvoir "régénérer" un enregistrement effacé, modifié par erreur.

Merci de votre aide

PS : j'ai entendu parler de log binaire, je n'ai trouvé aucun tuto sur le sujet à l'exeption de la doc...
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/03/2010, 22h20   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Un peu de lecture :
http://dev.mysql.com/doc/refman/5.0/fr/query-log.html
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 09h22   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut log general

Merci pour votre réponse SABOTAGE,

A vrai dire je ne sais pas si votre réponse résout ma question ... En effet l'explication fournit me semble vraiment théorique. J'aurais aimé trouver un tuto expliquant avec un exemple ce que l'on peut faire "pratiquement".

Cordialement,
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 11h13   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Comment ca théorique ?
Cela indique exactement comment activer les logs.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 15h21   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut Theorique, je confirme (enfin pour moi en tout cas !)

Cher SABOTAGE,
j'utilise xampp pour tester mon application en local ? dois renommer mon fichier mysqld (dossier bin) ? y aura t il génération d'un fichier hostname.log juste pour le site que je souhaite tester ? Sinon comment faire ou comment trier ?

Une fois que ce fichier sera créer comment y accéder avec PHP et y faire les extractions qui m'intéressent ? Bref, en pratique, je ne comprends pas comment je pourrais obtenir ce que je souhaite ...

Merci de ton aide si tu as quelques instants à me consacrer.ou connais tu un tuto qui traite de ce sujet ?
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 16h09   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faudrait que tu sois plus précis sur ce que tu veux faire.

Par exemple
Citation:
"régénérer" un enregistrement effacé,
Par qui ? De quelle manière ? Sur la base de quoi ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/03/2010, 16h42   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut explication

Régénérer un enregistrement effacé:

Par exemple, j'ai dans ma saisie au 1/1/2000 la société X SARL qui devient au 1/1/2010 la société X SA.
Je veux conserver une trace de qui a fait la modification( idsession) quand (timestamp),qu'est ce qui a changé et à quelle date ? Date de modif des statuts et SARL -> SA.

En fait, je veux une traçabilité complète des données... et pouvoir afficher un tableau avec Qui - Quoi - Quand pour l'utilisateur.
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 20h27   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Il faut alors que tu fasses en PHP : tu fais une fonction chargée d'executer les requêtes et de les enregistrer dans une table de log. à toi.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 22h50   #9
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut Une table log ?

Merci de ta réponse,

Je réfléchis à ta réponse et reviens vers toi avec un bout de code ou quelque chose ... Parce que tout de suite j'ai pas d'idée
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 22h51   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
euh ... quel genre, la structure de la table de log ... ?
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2010, 23h25   #11
Membre confirmé
 
Avatar de Inazo
 
Inscription : avril 2007
Messages : 242
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 242
Points : 245
Points : 245
Bonjour à tous,

Pour ta table de log j'aurais dit à peut de choses près la même structure que ta table qui doit être sauver.

Admettons que l'on est la table page suivante :

+-------------------------+
| PAGES |
+--------+----------------+
| IdPage | INT |
+--------+----------------+
| Titre | VARCHAR(255) |
+--------+----------------+
| Texte | TEXT |
+--------+----------------+

Ca table de log pourrait ressembler à la suivante :

+-------------------------+
| LOG_PAGES |
+--------+----------------+
| IdLog | INT |
+--------+----------------+
| DateLog| DATE |
+--------+----------------+
| IdSession | INT |
+--------+----------------+
| IdPage | INT |
+--------+----------------+
| Titre | VARCHAR(255) |
+--------+----------------+
| Texte | TEXT |
+--------+----------------+

Et dès que tu fais une action UPDATE / DELETE sur la table PAGES tu ajoutes l'ancienne version dans la table LOG_PAGES.


En espérant avoir été assez claire, par contre attention il faudrait prévoir un système de délestage car ta table de log pourrait vite devenir énorme.

Cordialement,
__________________
Si vous débutez en PHP : Tutoriel pour grands débutants

Mes tutoriels : http://alexandre-joly.developpez.com/
Inazo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2010, 08h49   #12
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 64
Points : 13
Points : 13
Par défaut Merci pour ta réponse INAZO

et tes conseils, je vois mieux ce qu'il faut faire ... je vais essayer de coder et je reviens vers vous avec mes réflexions ... En tout cas Merci beaucoup.
jmtrivia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 15h16.


 
 
 
 
Partenaires

Hébergement Web