Supprimer dans la base de données
Résolu
glodybiss
Messages postés
440
Date d'inscription
Statut
Membre
Dernière intervention
-
glodybiss Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
glodybiss Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Cette question est peut être stupide mais ça m'ennui un peu trop, comment ferai-je pour une supprimer entrer dans la base des données sans supprimer le ID ?
je m'explique; quand je supprime par exemple le n°2 à la prochaine entrée au lieu que ça recommence à 2 il saute directement à 3 et je n'ai plus de numéro 2 dans la table.
Cette question est peut être stupide mais ça m'ennui un peu trop, comment ferai-je pour une supprimer entrer dans la base des données sans supprimer le ID ?
je m'explique; quand je supprime par exemple le n°2 à la prochaine entrée au lieu que ça recommence à 2 il saute directement à 3 et je n'ai plus de numéro 2 dans la table.
A voir également:
- Supprimer dans la base de données
- Supprimer rond bleu whatsapp - Guide
- Supprimer les données de navigation - Guide
- Supprimer une page dans word - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer pub youtube - Accueil - Streaming
3 réponses
Salut!
Avec MYSQL c'est ainsi et sincèrement,je ne te le cache pas,je ne sais pas comment régler ça.Mais ça ne me gène pas, je ne vois pas pourquoi tu veux que les ID se succèdent?
Avec MYSQL c'est ainsi et sincèrement,je ne te le cache pas,je ne sais pas comment régler ça.Mais ça ne me gène pas, je ne vois pas pourquoi tu veux que les ID se succèdent?
Hello Glody ;-)
C'est parce que tu utilises surement un champ "auto-increment" donc qui s'incrémente de 1 à chaque INSERT dans ta base. La valeur est mémorisée quelque part...
En fait ton problème est large : encore si jamais tu te contentes de supprimer la dernière ligne de ta base, tu peux utiliser une ligne comme celle-ci afin de réduire l'auto-increment :
Mais que feras-tu si tu supprimes une ligne en plein milieu ? Tu vas décrémenter mais à la prochaine insertion tu insèreras un A-I déjà présent... À moins de faire une boucle afin de décrémenter toutes les lignes dont l'ID est supérieur à celui que tu viens de supprimer...?
Tu vois le soucis ? :)
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
C'est parce que tu utilises surement un champ "auto-increment" donc qui s'incrémente de 1 à chaque INSERT dans ta base. La valeur est mémorisée quelque part...
En fait ton problème est large : encore si jamais tu te contentes de supprimer la dernière ligne de ta base, tu peux utiliser une ligne comme celle-ci afin de réduire l'auto-increment :
alter table <nom de ta table> auto_increment=<ta nouvelle valeur>;
Mais que feras-tu si tu supprimes une ligne en plein milieu ? Tu vas décrémenter mais à la prochaine insertion tu insèreras un A-I déjà présent... À moins de faire une boucle afin de décrémenter toutes les lignes dont l'ID est supérieur à celui que tu viens de supprimer...?
Tu vois le soucis ? :)
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
Merci Mihawk ça alors ça devient encore très ennuyant, donc dans le cas d'une base des données où il y a des membres enregistrés c'est compliqué de supprimer leurs comptes! tu as raison j'ai mis le ID auto_increment, dans le cas où je dois écrire :
alter table <nom de ta table> auto_increment=<ta nouvelle valeur>;il faudra alors que je puisse écrire la nouvelle valeur manuellement ?
Glodybiss,
Rien ne t'empêche de faire une boucle en while sur toutes les entrées récupérées dans ta base, et de créer ton propre compteur au sein de ce même while afin d'avoir des numéros qui se suivent...
Copie/colle ici le code de ta boucle d'affichage, je te montrerai !
Rien ne t'empêche de faire une boucle en while sur toutes les entrées récupérées dans ta base, et de créer ton propre compteur au sein de ce même while afin d'avoir des numéros qui se suivent...
Copie/colle ici le code de ta boucle d'affichage, je te montrerai !
Voici la boucle qui affiche toutes les entrées de ma table
while ($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td>'.$row['id'].'</td>'; echo '<td><a href="#">'.$row['nom_enreprise'].'</a></td>'; echo '<td><a href="#">'.$row['nom_du_contact'].'</a></td>'; echo '<td>'.$row['adresse'].'</td>'; echo '<td>'.$row['email'].'</td>'; echo '<td>'.$row['telephone1'].'</td>'; echo '<td>'.$row['telephone2'].'</td>'; echo '<td>'.$row['siteweb'].'</td>'; echo '</tr>'; }
À remplacer par :
Tiens-moi au jus :)
Et si tu as besoin du compteur quelque part (pour un bouton, etc...) rien ne t'empêche de le mettre dans un bloc caché.
(int) $iCompteur = 1; while ($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td>'.$iCompteur.'</td>'; echo '<td><a href="#">'.$row['nom_enreprise'].'</a></td>'; echo '<td><a href="#">'.$row['nom_du_contact'].'</a></td>'; echo '<td>'.$row['adresse'].'</td>'; echo '<td>'.$row['email'].'</td>'; echo '<td>'.$row['telephone1'].'</td>'; echo '<td>'.$row['telephone2'].'</td>'; echo '<td>'.$row['siteweb'].'</td>'; echo '</tr>'; $iCompteur++; }
Tiens-moi au jus :)
Et si tu as besoin du compteur quelque part (pour un bouton, etc...) rien ne t'empêche de le mettre dans un bloc caché.
Par exemple :
1. Banane
2. Orange
3. Ananas
5. Mandarines
Tu vois un peu en quoi ça me gêne ?! il n'y a pas 4 dans ma liste.