réactualiser l'id

Eléphanteau du PHP | 39 Messages

24 déc. 2007, 11:55

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

ViPHP
ViPHP | 2287 Messages

24 déc. 2007, 12:07

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.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphanteau du PHP | 39 Messages

24 déc. 2007, 12:18

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 déc. 2007, 12:23

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.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 39 Messages

24 déc. 2007, 12:28

Ok merci

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

Passes de bonnes fêtes.

@+

Naje83

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 déc. 2007, 12:32

Bonnes fêtes à toi aussi
Joyeux noel :D
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer