bonsoir,
je sollicite votre sagacité pour m'indiquer s'il existe une façon très simple et optimisée d'incrémenter une sous-chaine. Je m'explique avec un exemple ça sera bien plus facile !!
Donc soit, une rubrique d'une table qui contient des chaines de ce type :
01-01-01
01-01-02
01-02-01
01-02-02
01-02-03
01-03-
02-01-01
02-01-02
02-02-
02-03-01
02-03-02
(en gros ça représente une sorte de plan : grand I/A/1. Donc dans le grand I on a un A et un B, le A contient 01 et 02 et le B 01,02,03... OK ?)
je souhaiterais pouvoir "insérer" dans ce plan une sous-rubrique et donc décaller les suivantes ! Ainsi insérer derrière 01-02-01 une rubrique... donc :
01-02-02 -> 01-02-03
01-02-03 -> 01-02-04
et les autres ne bougent pas...
En gros ça revient à dire que pour tous les enregistrements dont le numéro de niveau est supérieur à un numéro donné, il faut incrémenter de 1 ! (vous me suivez toujours ?? Wink )
Sachant qu'ici c'est le dernier numéro qui est incrémenté, mais ça pourrait être : j'insère une sous-rubrique derrière 01-01 donc
01-02-* --> 01-03-*
01-03-* --> 01-04-*
VOilà !! J'avoue qu'à part en m'embarquant dans des boucles php qui ne me paraissent pas du meilleur goût, j'ai un peu de mal à apréhender ce problème ! Embarassed Si on pouvait dire sous forme d'une requête mysql :
pour tous les enregistrement supérieurs répondant à ce format "01-[0-9]{2}.*" on incrémente la sous-chaine 2 (ou 3 ou 4), j'avoue que ça m'arrangerait ! mais là je suis largué !!
Merci d'avance pour votre aide !
Partager