Réorganisation des ID

Eléphanteau du PHP | 10 Messages

30 sept. 2022, 00:26

Bonjour,

J'aimerais savoir comment réorganiser mes données de ma Bd si je supprimes une donnée.

Exemple: je supprimes ma donnée ayant le Id 2, j'aimerais que mes données suivantes change de id (la Id 3 devienne la #2, la id 3, la #4, etc).

Merci

Mammouth du PHP | 2703 Messages

30 sept. 2022, 01:08

update table set id = id - 1 where id > idsupprime
mais je doute que ce soit une bonne idée.

Eléphanteau du PHP | 10 Messages

30 sept. 2022, 01:25

Pourquoi ce ne serait pas une bonne idée? Présentement j'affiche un div et je lui donne une position en fonction que ce soit un Id pair ou impair. Si je supprimes une donnée, dans mon affichage il y aura un vide. C'est pour éviter le vide que je veux réorganiser les id.

Mammouth du PHP | 2703 Messages

30 sept. 2022, 01:39

il vaut mieux incrementer une variable dans la boucle et ne pas toucher aux id.
$i = 0;
while(...){
if($i % 2){
...
}
else{
...
}
...
$i++;
}

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 oct. 2022, 02:13

Dans un schéma correctement construit, l'ID est généralement un auto-incrément utilisé comme clé primaire.
Il est donc hors de question de le modifier par la suite.

Si ton but est d'alterner des affichages en fonction de la valeur de l'ID, le plus simple est de ne pas considérer la valeur de l'ID mais l'ordre d'affichage et de faire appel aux propriétés CSS even et odd.