Bonjour,
J'ai un probleme lors d'insertion de nouvelles donnée
En fait, je rentre une liste de personnes (par formulaire php).
Admettons que j'ai 6 personnes (id=1,2,3,4,5,6), et que je supprime id=4 ; id=5 et id=6 (par php bien sur)
Et lorsque je rerentre une personne, l'id donné va etre le 7 alors que le 4,5 et 6 n'est pas attribué.
J'ai pensé à une attribution id par ce code :
//Atribution de l'id
$id=1;
$sql = "SELECT * FROM `eleves`";
$req = mysql_query($sql);
while($creation_id = mysql_fetch_array($req)){
$id=$id+1;
}
ce code marche ... sauf lorsqu'il y a des "trous"(exemple: id=1,2,4,5,6 attribué ; id=3 non attribué). Avec ce code donc $id va etre egal à $id=6, mais celui ci est déjà pris donc pas d'insertion (evidement)
J'ai donc pensé a ajouter à ma boucle une sorte de "vérification", pour voir si l'id est prise, ce qui donnerai un code de ce genre (ce code n'est pas terminé) :
//Atribution de l'id
$id=1;
$sql = "SELECT * FROM `eleves`";
$req = mysql_query($sql);
while($creation_id = mysql_fetch_array($req)||$verif=="-1"){
$sql2 = "SELECT id FROM `eleves` WHERE 'id=$id'";
$req2 = mysql_query($sql2);
$verif_exist = mysql_fetch_array($req2);
//vérification si l'id en cour est donné
if ($verif_exist==""){
$verif="-1";
$id=$id-1;}
else {
$id=$id+1;
echo $id;
}
}
Ce code est farfelue, ne marchera surrement pas au final (je ne l'ai pas terminé, je reprécise)...
Mais je supose qu'il y a plus simple, voir une proprité SQL qui permet de facilité les choses (je ne comprend pas comment mySQL sait que ces id ont été deja prise, alors que je les ai supprimé).
J'espere que vous avez compris
Merci de votre aide.