Auto-incrémentation aide

Résolu
Xei Messages postés 158 Statut Membre -  
zavenger Messages postés 817 Statut Membre -
Bonjour,

Je me posais une question, je n'ai pas trouvé les bon mot sous google pour trouver une solution.
Je m'explique :

J'ai une table dans la quelle via un formulaire, on peut ajouter ou supprimer (ici ce sont des écoles), mon problème est que si j'ajoute une école, l'id_ecole est par exemple 5. Ensuite je dois la supprimer. et quand je rajoute une autre école et qu'après je ré affiche tout, l'id passe de 4 à 6. Je sais c'est normal, mais es ce possible de faire en sorte que le rajout reprenne directement l'id supérieur au dernier? Si oui comment.

Merci d'avance!! :)
A voir également:

7 réponses

zavenger Messages postés 817 Statut Membre 161
 
A partir du moment que tu as choisi un champ autoincrement, je ne pense pas que cela soit possible. La solution que j'implemente regulierement quand j'ai besoin d'un ID unique, c'est je je gere moi meme ce champ en creant une fonction qui recherche le premier indice non utilisé dans un champ.
En meme temps, est-ce bien utile ;-) quel probleme cela pose-t-il si tu as des indices inutilisés ..
0
Xei Messages postés 158 Statut Membre 56
 
Ok ok je vois ce que tu veux dire, et bien en fait les indices inutilisés et bien lors de l'affichage des école, si les indices font 1,après 2 et d'un coup on voit 58 lol c'est pas très joli, c'est juste niveau propreté que j'aurais voulu faire sa tu vois, donc voila^^
Enfin bon je pensais bien que quand c'est en auto-incrément, c'est chaud à modifié, donc mon petit projet tombe à l'eau d'après toi?
0
zavenger Messages postés 817 Statut Membre 161
 
si tu ne peux pas changer la structure de ta BDD, effectivement c'est mal barré. Sinon cela te demande un peu de reecriture de code ...
0
Xei Messages postés 158 Statut Membre 56
 
Ok ok, nan ba je vais changer la structure de ma bd, ya pas de souci, et le code en fait je dois faire quoi en gros?

Déjà je ne met pas l'id en auto-incrément, et dans mon script, je lui dit de chercher l'id le plus élevé et d'enregistrer nouveau id = ancien id + 1?? C'est à peu près sa non?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zavenger Messages postés 817 Statut Membre 161
 
C'est pas tout a fait cela car tu peux avoir des 'trous'. Si je me rappelle bien, je trie mes index par ordre croissant. Je les lis 1 par 1 et des que val(n+1) <> val(n) + 1 alors nouvel index = val(n) + 1
0
Xei Messages postés 158 Statut Membre 56
 
Ok ok, et bien merci je vais étudier sa et faire un petit script, on verra comment ça se passe.
Merci pour ton aide,
Bonne journée et bon weekend!:)
0
zavenger Messages postés 817 Statut Membre 161
 
merci et bon WE a toi aussi
0