PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 16-06-2011 20:42:34

steeve
Membre
Inscription : 16-06-2011
Messages : 103

récupérer l'id du dernier inscrit

salut a tous,

je viens vers vous car j'ai un soucis:
lors de l'inscription de membre sur mon site, tout va bien mais si je supprime une entrée de la table plus rien ne marche.
pour l'instant php compte le nombre d'entree et ajoute 1 mais je voudrais recuperer la derniere entree et lui ajouté 1:

          $dn2 = mysql_last_insert_id(mysql_query('select id from users'));
          $id = $dn2+1;

pour l'instant j'en suis la mais je vous avoue que je suis bloqué, quelqu'un serait il en mesure de m'expliquer ?

merci d'avance, steeve.

Hors ligne

#2 16-06-2011 20:44:41

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

je rajoute juste que ca marche comme ca:

          $dn2 = mysql_num_rows(mysql_query('select id from users'));
          $id = $dn2+1;

mais si j'ai ' entrée et que je supprime l'id n°3 je me retrouve avec 2 id n°4

Hors ligne

#3 16-06-2011 20:49:46

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

y a u truc génial qui s'appel autoincrement wink
ca marche tout seul wink
a++

Hors ligne

#4 16-06-2011 20:50:54

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

merci mais c'est déjà le cas, ça ça fonctionne bien enfin je pense.

Hors ligne

#5 16-06-2011 21:08:29

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

alors, ou est ton problème ?
a++

Hors ligne

#6 16-06-2011 21:11:51

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

la table se remplis bien 1,2,3,4 et ainsi de suite mais si je supprime l’entrée 3 par exemple puis j'enregistre un nouvel users je me retrouve avec: 1,2,4,4

Dernière modification par steeve (16-06-2011 21:20:53)

Hors ligne

#7 16-06-2011 21:46:01

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

montre moi la structure de ta table stp wink
a++

Hors ligne

#8 16-06-2011 21:58:36

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `nom` varchar(255) NOT NULL,
  `prenom` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `avatar` text NOT NULL,
  `username` varchar(255) NOT NULL,
  `categorie` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `idescription` text NOT NULL,
  `email` varchar(255) NOT NULL,
  `signup_date` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

Hors ligne

#9 17-06-2011 05:11:34

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : récupérer l'id du dernier inscrit

Personnellement je préfèrerais le résultat d'un SHOW CREATE TABLE `users`, au cas où.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 17-06-2011 05:55:31

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

avec une PRIMARY KEY (`id`) je ne vois qu'une chose : jeter le pc big_smile
c'est normalement impossible d'avoir 2 id identiques.
a++
ps : une autre solution possible aussi : Steeve est bourré big_smile lol

Hors ligne

#11 17-06-2011 08:24:33

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

ha enfin un forum avec de l'humour, le pc est tout neuf et je ne me saoul pas en semaine:cool:

[img align=img de ma table]http://www.malinois-sl.fr/table.PNG[/img]

et pour un peut plus d'humour, mes 2 semaines d'experience en php mon permis de régler le problème car désormais si je supprime une entrée  et ça n'enregistre plus du tout mais je ne sais toujours pas pourquoi hmm

PS: merci de ne répéter les mdp a personne !

Dernière modification par steeve (17-06-2011 08:27:29)

Hors ligne

#12 17-06-2011 09:15:00

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

salut,
envoi le résultat de SHOW CREATE TABLE `users`.
a++

Hors ligne

#13 17-06-2011 09:24:58

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

désolé mais je ne sais pas faire, j'ai regarder sur le net mais je ne comprend pas...

Hors ligne

#14 17-06-2011 09:27:01

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

si je pense que c'est bon, ça me retourne:

Table Create Table
users CREATE TABLE `users` (
 `id` int(20) NOT NULL AUT...

Hors ligne

#15 17-06-2011 09:30:02

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

ça donne ça si je demande d'afficher tout:

Table Create Table
users CREATE TABLE `users` (
 `id` int(20) NOT NULL AUTO_INCREMENT,
 `nom` varchar(255) NOT NULL,
 `prenom` varchar(255) NOT NULL,
 `password` varchar(255) NOT NULL,
 `avatar` text NOT NULL,
 `username` varchar(255) NOT NULL,
 `categorie` varchar(255) NOT NULL,
 `description` text NOT NULL,
 `idescription` text NOT NULL,
 `email` varchar(255) NOT NULL,
 `tel` varchar(20) NOT NULL,
 `fax` varchar(20) NOT NULL,
 `adresse` varchar(255) NOT NULL,
 `cp` varchar(10) NOT NULL,
 `ville` varchar(255) NOT NULL,
 `departement` varchar(255) NOT NULL,
 `region` varchar(255) NOT NULL,
 `facade` varchar(1000) NOT NULL,
 `maps` varchar(1000) NOT NULL,
 `votes` varchar(1000) NOT NULL,
 `signup_date` int(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

Hors ligne

#16 17-06-2011 09:30:35

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

sous phpmyadmin tu tape dans la fenetre SQL SHOW CREATE TABLE `users`.
@+

Hors ligne

#17 17-06-2011 09:32:55

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : récupérer l'id du dernier inscrit

bon, je reviens sur ma 1 ere solution : jette le pc ou réinstalle mysql wink
id étant primary key, y a aucune raison qu'il y ai des doublons wink

a++

Hors ligne

#18 17-06-2011 09:36:03

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

non, désormais il ni a plus de doublon mais si je supprime une entrée avant la dernière, je ne peux plus rien enregistrer via le formulaire

Hors ligne

#19 17-06-2011 09:44:16

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : récupérer l'id du dernier inscrit

Bizarre son truc, on dirait que la contrainte UNIQUE de la PIRMARY KEY en AUTO_INCREMENT a été levée comme on le fait, parfois pour les FOREIGN KEYS.
Mais je ne sache pas que ce soit faisable, même pour un LOAD DATA.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#20 17-06-2011 09:45:21

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

maintenant, le problème a changer:

j'ai 6 entrée, si je supprime l’entrée 5, il me reste 1,2,3,4,6. je passe par mon formulaire et j'inscrit un nouveau compte, tout va bien il prend l'id 5 mais ensuite ça ne marche plus, je ne sais pas pourquoi ?

il faut que je reussisse car si je dis a ma femme qu'il faut que je change de pc pour faire mon site, c'est le divorce assuré sad

Dernière modification par steeve (17-06-2011 09:47:44)

Hors ligne

#21 17-06-2011 09:46:07

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : récupérer l'id du dernier inscrit

Ce qui est bizarre aussi c'est cet AUTO_INCREMENT=7 qui était AUTO_INCREMENT=6 la fois d'avant.
Je vais chercher par là.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#22 17-06-2011 09:51:19

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : récupérer l'id du dernier inscrit

Quelle version de MySQL ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#23 17-06-2011 09:52:51

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : récupérer l'id du dernier inscrit

Essaye cette requête :


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#24 17-06-2011 09:54:54

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

j'ai l'impression que AUTO_INCREMENT=7 correspond au nombre d'entrée dans la table avant que j'en supprime une, mais rien de sur...

Hors ligne

#25 17-06-2011 09:56:29

steeve
Membre
Inscription : 16-06-2011
Messages : 103

Re : récupérer l'id du dernier inscrit

ok, je l'ai fait et la réponse est:
Votre requête SQL a été exécutée avec succès ( Traitement en 0.0321 sec. )

je fait des test et je reviens

Hors ligne

Pied de page des forums