Ecrire une "Moulinette" - #1

Date : samedi 21 décembre 2013 @ 17:58:16 :: Sujet : Php, Mysql, ...

 Lorsque l'on maintient un site internet, il arrive forcément un jour où l'on doit modifier 'en rafale', le contenu d'une donnée située dans une table de la base de données Mysql.

 

La plupart des professionnels de l'informatique en général et des NTIC's, en particulier, savent ce qu'est une moulinette'.

Si c'est votre cas et, qu'en plus, vous êtes un virtuose de php, alors je vous propose de retourner à votre passe-temps préféré car ce qui suit ne vous apprendra rien.

Sinon, voici la suite:

Je ne comprenais pas pourquoi, quelle que soit la valeur indiquée dans les préférences de NPDS, le nombre de news affichées dans la page principale, pour un utilisateur enregistré, se limitait toujours à 10.

Je voulais que les 25 derniers articles soient affichés.

Une petite consultation de la bible de NPDS (CONFIGURATION: Les préférences) m'a permis de trouver la raison...

J'ai appris que la donnée concernée par cette limite était storynum, donnée de la table Users. Lors de la création d'un utlisateur, la donnée storynum est initialisée à 10 et cette valeur prime sur la valeur 5 (indiquée dans les préférences), qui s'adresse aux visiteurs non inscrits.

Il ne me restait plus qu'a corriger la valeur de storynum pour chaque utilisateur.

Ceci dit, comment faire lorsque plus de deux cents utilisateurs sont déjà enregistrés...

Première solution: modifier à la main, le contenu de la donnée en question.

C'est juste long comme un jour sans pastis! (même avec modération...).

Plutôt 'cossard' par nature, j'en ai choisi une autre, moins chronophage...

J'ai opté pour l'écriture d'une moulinette en PHP, qui remplacerait automatiquement le contenu de storynum de chaque élément de la table Users par la valeur 25, pour ce site.

Comme ça a bien marché (en une seconde tout au plus), je propose la méthode à tous ceux qui voudraient bien et qui n'osent pas.

La moulinette en question se découpe en quatre éléments:

A-Déclaration des identifiants de connexion à la base mysql:

moulinette_1.jpg

 

B-Connexion:

moulinette_2.jpg

 

C-Requête de modification:

moulinette_3.jpg

D-Traitement du résultat:

moulinette_4.jpg

 



Procédure:

1) placer le code source dans un répertoire spécifique et protégé de votre site au moyen de votre client ftp habituel;

2) Sauvegarder la table avant toute exécution (on ne sait jamais...). 

3) Exécuter le code php à l'aide de votre navigateur.

    Si tout se passe bien, le nombre de données modifiées sera affiché en résultat du traitement.

4) Contrôler le résultat en consultant la table..


La version non commentée donne ceci:

moulinette_light.jpg

 

Dernier point : vous l'aurez compris, il suffit de peu de modification dans le code pour modifier/initialiser une autre donnée dans une autre table.

Enfin et si vos tables sont préfixées il faudra simplement rajouter le prefix à la table users (par exemple : si le prefix est "1234" alors il faut mettre 1234users)

 








Cet article provient de NPDS

L'URL pour cet article est : http://www.npds.org/article.php?sid=1876