derniere date de modification BD MySQL

Eléphant du PHP | 258 Messages

02 déc. 2006, 21:37

Bonjour à tous.

Voila, j'aurais voulus savoir, si il serait possible de savoir la date de la derniere modif de la base de donnée, de la recupérer et de l'afficher?

Merci à tous.

Eléphant du PHP | 445 Messages

02 déc. 2006, 23:58

Hum, à part en mettant à jour un champ `derniere_modif`dans la table en question à chaque mise à jour, je vois pas trop...
LLDC
Ulti

Mammouth du PHP | 1776 Messages

03 déc. 2006, 00:38

Essaie de scruter le fonctionnement de php my admin, y'a un champ dedans avec "date de dernière modification". Et comme ce n'est que du php, tu dois pouvoir y retrouver la requête :wink:

Eléphant du PHP | 258 Messages

03 déc. 2006, 18:34

Salut et merci pour vos reponses.

Bon, j'ai chercher, mais je n'arrive pas a trouver ton champ mise a jour, il se trouve ou?

Dans la page accueil d'admin ou dans ma base de donnée.

Merci d'avance

ViPHP
ViPHP | 3607 Messages

03 déc. 2006, 18:38

exécute cette requête dans phpmyadmin:

Code : Tout sélectionner

SHOW TABLE STATUS FROM `mabdd`
et regarde la colonne "Update_time" :wink:

Eléphant du PHP | 258 Messages

04 déc. 2006, 18:33

Merci jojolapine mais la j'ai encore plus de questions que de réponses.

Car sa m'affiche la date de mise a jour de tous mes enregistrements et non pas de la base de donnée elle seule ,c'est à dire que si je modifi n'importe lequels des enregistrements sa me met juste la Bd a été mise a jour le "" , amoin qu'il y est un moyen de trier la derniere date.

Et la seconde question ,je mais dans mon code de ma page :

Code : Tout sélectionner

SHOW TABLE STATUS FROM `dbsitedebase`
comme je mettrais une requete SELECT ?

Et apres je met
echo 'Update_time ' ;

Ou bien il y a une autre maniere.

ViPHP
ViPHP | 3607 Messages

04 déc. 2006, 18:42

je croit qu'il faut éclaircir certains points...
Tu souhaites avoir la date de dernière modification de quoi au juste?
D'un enregistrement contenu dans une table?
Ou alors la dernière modification d'une table en entière ?
Dans les deux cas il y a une solution, mais précise un petit peu.... ;-)

Eléphant du PHP | 258 Messages

04 déc. 2006, 19:22

désoler pour mettre mal expliqué.

Ce n'est ni d'un enregistrement n'y d'une table c'est de la base de donnée elle meme.

Par exemple j'ai 3 tables que l'on peut remplire de photos par une partie admin sur le site.

et que l'on remplice une des trois ou meme les trois, je veut que sa me dise la date dela derniere modif de ma base de donnée et pas de la tables 1,2 ou 3.

J'espere mettre mieux expliquer.

Mammouth du PHP | 19672 Messages

04 déc. 2006, 19:35

Non : en te lisant sans trop m'être attardé sur ce qui précède, je dirais que ta question est ambigüe : veux-tu savoir la date de la dernière modification de la structure de la base, ou bien quand a eu lieu la dernière modification du contenu de la base sans distinction d'une table particulière ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 258 Messages

04 déc. 2006, 21:34

la deuxieme solution

Mammouth du PHP | 19672 Messages

04 déc. 2006, 22:08

Selon la version, tu pourrais peut-être essayer d'exploiter les logs de MySQL, sinon, à partir de MySQL 5, tu pourrais créer des triggers qui mettraient à jour une table de log particulière :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

04 déc. 2006, 23:56

ou sinon dernière solution qui fonctionnerai sur toutes les version, tu récupères toutes les dernières dates de modifications de tes tables, tu les comparent et retourne la plus récente...

Eléphant du PHP | 258 Messages

05 déc. 2006, 12:38

Merci pour vos reponse mais les triggers, les log pour moi c'est du petit chinois.

Et pour ce qui est de recupérer les date de toute les tables je ne vois pas comment on fais.

ViPHP
ViPHP | 3607 Messages

05 déc. 2006, 12:55

bon tu as bien vu ce que retournai la requête que je t'ai proposé...?
tu vois que pour chaque table, tu as un champ Update_time qui indique la date de dernière modification...
Imaginon que tu récupère cette information sur chaque table (de la manière que n'importe quelle autre requête mysql), tu as entre les mains une série de date au format datetime, ensuite, ilsuffit de les comparées, de choisir la plus récente et de l'afficher comme date de dernière modification du contenu des tables de ta base de donnée

Eléphant du PHP | 258 Messages

05 déc. 2006, 15:25

Bon j'ai fais sa mais sa ne marche pas.
<?php
$sql_derniere_modif="SHOW TABLE STATUS FROM `dbsitedebase` ORDER BY Update_time DESC";
$dermodif= mysql_query($sql_derniere_modif);
$datemodifbd= mysql_fetch_array($dermodif);
echo $datemodifbd ;
?>