Page 1 sur 1

réactualiser l'id

Posté : 24 déc. 2007, 11:55
par naje83
Salut à tous

je me trouve avec un problème mysql et je comprends pas comment m'en sortir
- je suis sous easyphp 1.8
- j'ai fait afficher le n° de l'id d'une base avec l'excellent script onlinemod (tuto ajax), donc en cliquant 2 fois sur le n° de l'id cela m'envoi sur une nouvelle page où le code est le suivant :

Code : Tout sélectionner

<?php include 'connect.php'; $table = 'inline_table'; // on récupère le n° d l'id $numero =$_GET['id']; echo $numero; // supprime l'enregistrement par le n° de l'ID mysql_query("DELETE FROM $table WHERE ID = $numero "); ?>
La ligne correspondante à l'id est bien supprimée.
tout ceci fonctionne impec mais lorsque j'affiche la base en revenant sur la page précédente le n° de l'id de s'est pas auto-incrémenté...donc si je supprime le n° 2 la base sautera du 1 au 3.

Comment faire pour que mysql ré-incrémente la base ?

J'espère que je me suis bien expliqué :oops:

D'avance merci

@+

Naje83

Posté : 24 déc. 2007, 12:07
par Calimero
Bonjour,

Tu ne devrais jamais avoir besoin de ça ;-)

Si tu comptes sur ton id pour autre chose que de la manipulation de données, c'est mal. L'identifiant autoincrémenté ne doit servir qu'à l'identification d'un enregistrement dans la table, et donc le fait que la base de données le gère toute seule ne doit jamais gêner. Si tu tombes dans ce cas, il faut revoir l'utilisation que tu fais de l'identifiant, et peut-être créer un autre champ suivant tes besoins.

Posté : 24 déc. 2007, 12:18
par naje83
Merci pour ta réponse

Que penses tu de ce code :

Code : Tout sélectionner

ALTER TABLE $table AUTO_INCREMENT=0 ;
pour le moment je suis en :
Parse error: parse error in c:\easyphp1-8\www\inlinemod_sup\suppression.php on line 26

je vais chercher la syntaxe exacte...

@+

Naje83

Posté : 24 déc. 2007, 12:23
par zeus
Je t'invite à consulter ce tuto :arrow: Pourquoi ne pas modifier un identifiant

Ce que tu cherches à faire reviens au même vu que l'identifiant 2 à concerné plusieurs enregistrements au cours du temps. Les références pointant sur l'enregistrement dont l'id est 2 peuvent concerner l'ancien ou le nouvel enregistrement et tu n'as aucun moyen de le savoir.

Je pense que tu cherches à faire ça car tu te rends comptes qu'il y a des "trous" dans tes enregistrements, mais il y a quelques chose de très important à savoir au sujet des identifiants (qui est rappelé dans le tuto que je te donne) :
Un identifiant a pour but d’identifier de manière unique un enregistrement pour le SGBD.
De manière général, les utilisateurs des applicatifs connectés sur cette base de données
ne devraient même pas connaitre les identifiants des données qu’ils manipulent.

Posté : 24 déc. 2007, 12:28
par naje83
Ok merci

J'ai compris. :)
tanpis pour les trous :wink:

Passes de bonnes fêtes.

@+

Naje83

Posté : 24 déc. 2007, 12:32
par zeus
Bonnes fêtes à toi aussi
Joyeux noel :D