logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
36 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 447 108

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» [MySql] Remplacement dans un champ "longtext" sur toute une table

[MySql] Remplacement dans un champ "longtext" sur toute une table#21437

3Contributeur(s)
developpeurmrottaleloup31
3 Modérateur(s)
developpeurjpbJireck
mrotta mrottaicon_post
J'ai un doute sur la manière de faire.

Dans mon module wiki, je veux mettre en place une fonction permettant de changer le nom wiki d'une page. Ce nom est stocké à deux endroit, un champ indexé unique, facile, une bête requête SQL, 1 enregistrement modifié et le tour est joué.

Plus dur. Le contenu des pages est stocké dans un "longtext". Dans n'importe quel page peut figurer de 0 à N références à ma page renommée. La syntaxe du lien est :
((NomWiki Nom que je veux voir afficher)

Donc si je fais une recherche sur "((NomWikiVieux" et que je le remplace par "((NonWikiNouveau" et ce dans chaque page, c'est bon.

Mais il faut le faire pour toutes les pages du wiki. Et dans la table wiki est conservé l'historique des modifications, cela peut donc faire beaucoup de pages. Comment faire cela avec une requête SQL sans mettre une usine qui reprend tous les enregistrements qui contiennent "((NomWikiVieux" et les modifies 1 à 1... ??
:-? :-? :-?
developpeur developpeuricon_post
fait plustot des petites requetes qu'une grosse ... c'est plus performant et prend en fin de compte moins de temps
mrotta mrottaicon_post
Un requête pour récupérer la liste des pages concernées.

Une boucle de lecture en php pour changer dans la zone tous les occurance avec autant de requête de mise à jour que d'enregistrement

Dans cette idée là ?
developpeur developpeuricon_post
oui / décomposer c'est toujours plus simple à comprendre ... et donc à réaliser :-)
mrotta mrottaicon_post
C'est un de mes adages :

Quant un problème est trop compliquer, il faut le séparer en plusieurs petits problèmes simple.


Mais une bonne requète SQL, parfois, c'est simple aussi... Je vais faire du code.

Le module devient mature, il devrait bientôt quitter l'alpha pour entrer en version béta. Comment on peut envisager la suite ?
leloup31 leloup31icon_post
- Proposition sur module
- tests
- modification optimisation
- validation
- champagne
mrotta mrottaicon_post
Proposition, c'est fais
Tests, c'est en cours
Optimisation, ... heu oui, on y travail
Validation, certe mais encore
Champagne, ... heu crémant d'Alsace, ça le fait aussi ?

Citation : leloup31

- Proposition sur module
- tests
- modification optimisation
- validation
- champagne