Recuperé identifiant + 1 pour enregistrement
Résolu/Fermé
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
-
15 mai 2008 à 09:47
LiLou LiLa Messages postés 330 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 10 mars 2009 - 15 mai 2008 à 11:18
LiLou LiLa Messages postés 330 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 10 mars 2009 - 15 mai 2008 à 11:18
A voir également:
- Recuperé identifiant + 1 pour enregistrement
- Identifiant et mot de passe - Guide
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- Recevoir son identifiant free par sms ✓ - Forum Réseaux sociaux
- Identifiant la banque postale perdu ✓ - Forum Réseaux sociaux
- Identifiant et mot de passe Banque Postale ✓ - Forum Réseaux sociaux
4 réponses
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
15 mai 2008 à 09:56
15 mai 2008 à 09:56
et sans auto increment c'est possible?
de prendre la derniere valeur et de rajouter 1 ???
de prendre la derniere valeur et de rajouter 1 ???
C'est relativement simple. Si j'ai bien compris, tu veux récupérer le nouvel id avant de l'enregistrer. Pour cela, je peux te conseiller de laisser tomber l'auto_increment mais en garder la logique.
Dans un premier temps, il faut récupérer le nouvel identifiant (id+1) de ta table (ta_table) pour de le mettre dans ton formulaire. Pour le récupérer, il suffit d'utiliser la fonction MAX() de MySQL. Elle te renvoit l'id de plus grand. Il suffit dès lors de l'incrémenter de 1, d'où la requête suivante :
SELECT MAX(id)+1 FROM ta_table;
Voilà pour l'affichage. Après au niveau de l'enregistrement, il faudra penser à récupérer cette valeur depuis ton formulaire également avec par exemple :
INSERT INTO ta_table (id, ...) VALUES (nouvel_id, ...);
Il doit bien sur exister d'autres possibilités, mais voilà déjà une piste. Je trouve que cette méthode peut être sujet de bugs si plusieurs personnes utilisent le script en même temps, il risque d'y avoir des conflits d'id lors de l'ajout.
Dans un premier temps, il faut récupérer le nouvel identifiant (id+1) de ta table (ta_table) pour de le mettre dans ton formulaire. Pour le récupérer, il suffit d'utiliser la fonction MAX() de MySQL. Elle te renvoit l'id de plus grand. Il suffit dès lors de l'incrémenter de 1, d'où la requête suivante :
SELECT MAX(id)+1 FROM ta_table;
Voilà pour l'affichage. Après au niveau de l'enregistrement, il faudra penser à récupérer cette valeur depuis ton formulaire également avec par exemple :
INSERT INTO ta_table (id, ...) VALUES (nouvel_id, ...);
Il doit bien sur exister d'autres possibilités, mais voilà déjà une piste. Je trouve que cette méthode peut être sujet de bugs si plusieurs personnes utilisent le script en même temps, il risque d'y avoir des conflits d'id lors de l'ajout.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
15 mai 2008 à 10:36
15 mai 2008 à 10:36
Bonjour.
Il suffit de faire un SELECT MAX(Identifiant) FROM table;
Ceci dit, si c'est pour faire ce que je pense que tu veux fair, je ne suis pas sûr que ce soit une bonne idée.
Si ton objectif est d'afficher/utiliser l'identifiant sur la page de création de test enregistrements, tu ne pourras pas gérer la création concurentielle...
Il suffit de faire un SELECT MAX(Identifiant) FROM table;
Ceci dit, si c'est pour faire ce que je pense que tu veux fair, je ne suis pas sûr que ce soit une bonne idée.
Si ton objectif est d'afficher/utiliser l'identifiant sur la page de création de test enregistrements, tu ne pourras pas gérer la création concurentielle...
LiLou LiLa
Messages postés
330
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
10 mars 2009
12
15 mai 2008 à 11:18
15 mai 2008 à 11:18
merci j y avais pas pensé
ça devrai marcher mais jai un peu coté connexion on dirait que ça va pas a la base mm si jai aucun message derreur
une idée?
ça devrai marcher mais jai un peu coté connexion on dirait que ça va pas a la base mm si jai aucun message derreur
une idée?