Récupérer un nouvel index (SQL)
Antoine83400
-
jeremy.s Messages postés 1226 Date d'inscription Statut Membre Dernière intervention -
jeremy.s Messages postés 1226 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ma question va peut-être paraitre très simple pour certains, à savoir que je débute tout juste dans la programmation.
J'ai une BDD avec pour clé primaire :
NoResa | .......... | .......... | ..........
----------------------------------------
1........ | .......... | .......... | ..........
2........ | .......... | .......... | ..........
3........ | .......... | .......... | ..........
4........ | .......... | .......... | ..........
Je cherche à récupérer le dernier numéro (ici 4) en le métant dans une variable :
$noresa = "SELECT max(NoResa) FROM reservation"
mysql_query($noresa);
Je souhaite alors lui ajouter +1
$noresa++
Ceci ne fonctionne pas (à savoir que j'utilise cette variable dans une autre requête SQL pour l'envoi d'un formulaire).
De plus, si je supprime l'élément 2, je voudrais que la numérotation suive son sens.
Si l'élément 2 est supprimé, en principe ça me donne ça : 1,3,4...
Or, j'aimerais ceci : 1,2,3...
Il y a surement des sujets dessus mais je n'en ai pas trouvé. Merci de votre aide.
Antoine
Ma question va peut-être paraitre très simple pour certains, à savoir que je débute tout juste dans la programmation.
J'ai une BDD avec pour clé primaire :
NoResa | .......... | .......... | ..........
----------------------------------------
1........ | .......... | .......... | ..........
2........ | .......... | .......... | ..........
3........ | .......... | .......... | ..........
4........ | .......... | .......... | ..........
Je cherche à récupérer le dernier numéro (ici 4) en le métant dans une variable :
$noresa = "SELECT max(NoResa) FROM reservation"
mysql_query($noresa);
Je souhaite alors lui ajouter +1
$noresa++
Ceci ne fonctionne pas (à savoir que j'utilise cette variable dans une autre requête SQL pour l'envoi d'un formulaire).
De plus, si je supprime l'élément 2, je voudrais que la numérotation suive son sens.
Si l'élément 2 est supprimé, en principe ça me donne ça : 1,3,4...
Or, j'aimerais ceci : 1,2,3...
Il y a surement des sujets dessus mais je n'en ai pas trouvé. Merci de votre aide.
Antoine
A voir également:
- Récupérer un nouvel index (SQL)
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Index téléphonique - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
9 réponses
tu aurais du faire une autre colonne pour ton NoResa et mettre un id auquel tu ne touches pas (juste comme ça au cas où tu te foires en réafectant il n'y a pas d'id en doublon donc pas d'erreur).
Sinon dans ta table tu es bien sur un INT?
essai de faire un truc comme ça:
Sinon dans ta table tu es bien sur un INT?
essai de faire un truc comme ça:
$noresa = "SELECT max(NoResa) as maxResa FROM reservation" mysql_query($noresa); $noresa = $noresa['maxResa'] +1; echo $noresa;
Salut !
Tu cherches à incrémenté (faire ++) sur le champ à chaque insert into ?
Si oui, tu peux le faire automatiquement, quand tu crée ton champ (ou dans la modification) il te suffis de cocher "Auto increment" :)
Tu cherches à incrémenté (faire ++) sur le champ à chaque insert into ?
Si oui, tu peux le faire automatiquement, quand tu crée ton champ (ou dans la modification) il te suffis de cocher "Auto increment" :)
justement voici la ligne de ma clé primaire :
# Colonne Type Null Défaut Extra
1 noresa int(4) Non Aucune AUTO_INCREMENT
Lorsque je remplis cette table j'aimerais que le # soit déjà le suivant... or je peux mettre ce que je veux en entier...
# Colonne Type Null Défaut Extra
1 noresa int(4) Non Aucune AUTO_INCREMENT
Lorsque je remplis cette table j'aimerais que le # soit déjà le suivant... or je peux mettre ce que je veux en entier...
$sql = "INSERT INTO reservation(noresa,nomcli,libcircuit,jourd,moisd,anneed,jourr,moisr,anneer,voitureresa,hotelresa,nopers)
VALUES (SELECT max(noresa)+1 FROM reservation,'".$nomclient."','".$libel."','".$jourd."','".$moisd."','".$anneed."','".$jourr."','".$moisr."','".$anneer."','".$voitureresa."','".$hotelresa."',1)";
voilà la requete que je passe sous MySQL_query().
il y a une erreur dedans
VALUES (SELECT max(noresa)+1 FROM reservation,'".$nomclient."','".$libel."','".$jourd."','".$moisd."','".$anneed."','".$jourr."','".$moisr."','".$anneer."','".$voitureresa."','".$hotelresa."',1)";
voilà la requete que je passe sous MySQL_query().
il y a une erreur dedans
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il ne faut pas le remplir ! Ne met rien quand tu ajoutes une ligne !
Si par exemple j'ai ma table personne(id, nom, prenom, sexe, age) avec id en auto increment
INSERT INTO personne (nom, prenom, sexe, age) VALUES ("Dupond", "Jean", "M", 20);
Si par exemple j'ai ma table personne(id, nom, prenom, sexe, age) avec id en auto increment
INSERT INTO personne (nom, prenom, sexe, age) VALUES ("Dupond", "Jean", "M", 20);
et bien merci à toi, ça fonctionne! cependant il a commencé à 122, alors que j'ai supprimé toutes mes données! mais je fouiner et je vais trouver