vespa Posté 6 Septembre 2006 Posté 6 Septembre 2006 Bonjour, Je me suis rendu compte que la taille des fichiers contenant les messages privés sur un de mes sites est importante et beaucoup de ces messages sont très très anciens parfois quelques années. Connaitriez vous un addon pour gérer les messages privés sous phpbb qui permettrait notamment de supprimer tout ceux antérieurs à une certaine date ??? sinon je devrai passer par des requêtes SQL Merci d'avance
Nullette Posté 6 Septembre 2006 Posté 6 Septembre 2006 Mon explication simpliste est qu'il me semble qu'il faut aller dans phpMyadmin (la base de données) et, là où on voit "perte" on clique sur "optimiser la table".
Dan Posté 6 Septembre 2006 Posté 6 Septembre 2006 Bonjour @Nullette: cela fait une optimisation de la table, c'est à dire que cela va supprimer les espaces vides et recréer les index. Mais cela ne va absolument pas supprimer les entrées antérieures à une date donnée. @Vespa: une commande SQL pour nettoyer les entrées plus vieilles qu'une date définie est très simple. Il faut que tu repères la table qui contient ces messages persos, et dans cette table, le champ qui correspond à la date. Ensuite tu peux faire un SELECT pour tester: SELECT * from nom_de_table where nom_du_champ_date < '2006-01-01' (pour autant que la date soit stockée dans ce format... ) Si cela te donne effectivement un bon résultat, tu peux lancer la même commande en remplaçant "SELECT *" par "DELETE" Une fois fait, tu lances une optimisation de cette table
Nullette Posté 6 Septembre 2006 Posté 6 Septembre 2006 Salut, (Moi qui croyais savoir quelquechose )) Dan !! J'ai fait SELECT * from 'phpbb_privmsgs' WHERE 2006-01-01 et j'ai obtenu une grande table avec plein de colonnes. privmsgs_id / privmsgs_type / privmsgs_subject / privmsgs_from_userid /privmsgs_date, etc.. Dans la colonne date il y a des chiffre genre : 1092913721, dans les colonnes from et to_userid il y a des chiffres qui vont de 2 à 1200 Si je fais DELETE, ça va tout supprimer depuis le 1er janvier 2006 ? Je ne connais pas de tutoriel à ce sujet et j'ai trop peur de faire une fausse manip.
Dan Posté 6 Septembre 2006 Posté 6 Septembre 2006 Non ! La date est au format "Unix timestamp". De plus, ton select est faux qu que tu n'as pas de champ après "where" ... regarde le mien. Je te donne la ligne précise à envoyer... laisse-moi quelques minutes, que je convertisse la date au bon format. Dan La date du 1er janvier 2006 à 00H00 est, au format timestamp: '1136073600' Fais un premier Select comme ceci (fais un copier/coller): SELECT * from phpbb_privmsgs; et regarde combien de résultats tu obtiens. Ensuite (fais un copier/coller) SELECT * from phpbb_privmsgs WHERE privmsgs_date < '1136073600'; le nombre d'entrées doit être inférieur à celui donné par le premier SELECT et représente ce que tu vas effacer. Et finalement: DELETE from phpbb_privmsgs WHERE privmsgs_date < '1136073600'; Une fois fait, entre ceci: OPTIMIZE table phpbb_privmsgs;
vespa Posté 6 Septembre 2006 Auteur Posté 6 Septembre 2006 Merci Nullette & Dan pour ces explications. En fait je cherchais un addon car il y a deux tables à purger en même temps et j'ai du mal avec les requetes ou il faut lier des tables phpbb_privmsgs_text clef : privmsgs_text_id phpbb_privmsgs clef : privmsgs_id
Nullette Posté 6 Septembre 2006 Posté 6 Septembre 2006 C'est encore moi. Merci Dan. SELECT * from phpbb_privmsgs; et regarde combien de résultats tu obtiens J'obtiens 81 pages de 30 lignes. Ensuite (fais un copier/coller)SELECT * from phpbb_privmsgs WHERE privmsgs_date < '1136073600'; le nombre d'entrées doit être inférieur à celui donné par le premier SELECT et représente ce que tu vas effacer. J'obtiens 51 pages. C'est donc delles-ci, si j'ai bien compris, que je peux effacer. J'ai encore trois questions : 1) Comment on fait pour calculer la date ? (je voudrais effacer du 01 janvier 2004 à décembre 2005) 2) J'ai également une table phpbb_privmsgs_text et je ne sais pas si il s'agit d'autre chose. 3) Pour ne pas polluer ce forum avec mes questions, existe-t-il un tutoriel ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant