Bonjour à toutes et à tous.
Je travail actuellement sur un logiciel et je suis confronté à un petit problème... Un premier formulaire me propose de créer un certain nombre d'étapes (autant que l'utilisateur le souhaite). Une fois son choix effectué, je lui génère autant de champs que nécessaire. Dans l'exemple de ma capture d'écran , l'utilisateur à demander à créer 3 étapes.
Les numéros d'étapes sont générés automatiquement grâce à une boucle for (le $_SESSION['suivi_nbetapes'] étant la variable récupéré du premier formulaire):
for($nbetapes=1;$nbetapes<=$_SESSION['suivi_nbetapes'];$nbetapes++)
Si mon utilisateur décide de supprimer une étape, il clique sur l'icône "croix rouge" ce qui supprime cette étape (sans supprimer le reste bien sûr) et repositionne le reste automatiquement. Par exemple, si l'utilisateur supprime l'étape 2, le A reste en étape 1 mais le C passe en étape 2. Cette partie fonctionne très bien mais là où le bas blesse, c'est au niveau de l'autre option...
Pour être plus clair, ça donne ça :
Etape 1 : A
Etape 2 : C
En effet, j'aimerai aussi que l'utilisateur puisse rajouter une étape vide entre deux étapes existantes via l'icône "flèche bleue". Par exemple, si l'utilisateur clique sur la flèche bleu de l'étape 1 (A), le A reste étape 1, une étape 2 vide se créé, le B devient étape 3 et le C étape 4... Et c'est là que ça coince, je n'arrive pas à générer cette étape vide entre deux étapes existantes !
Pour être plus clair, ça doit donner ça :
Etape 1 : A
Etape 2 :
Etape 3 : B
Etape 4 : C
Voici tout d'abord le code de ma suppression qui fonctionne bien :
1 2 3 4 5 6 7
| //Remise à niveau du nombre d'étapes
for($nbetapes=1;$nbetapes<=$_SESSION['suivi_nbetapes'];$nbetapes++)
{
if($nbetapes >= $id)
$_SESSION['suivi_intitule'][$nbetapes] = $_SESSION['suivi_intitule'][$nbetapes+1];
}
$_SESSION['suivi_nbetapes'] = $_SESSION['suivi_nbetapes']-1 |
;
J'ai essayé de retourner ce code dans tous les sens pour obtenir l'effet inverse mais rien à faire, ça ne fonctionne pas... Est-ce que quelqu'un à une solution s'il vous plaît?
Merci beaucoup !
Partager