Récupération Valeur autoincrement de MySQL 4.1

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération Valeur autoincrement de MySQL 4.1

par Eagle » 02 mai 2006, 13:05

C'est ce que j'ai fait.
Ca marche...
Merci :D

par iclo » 01 mai 2006, 23:26

Comme je l'ai mis plus haut : tu vas récupérer l'id unique de l'enregistrement, pour pouvoir construire le nom du fichier à stocker, jusque là, c'est bon, mais après tu vas faire un update sur le contenu du champ fichier pour ajouter devant celui-ci l'id (qui se trouve déja dans l'enregistrement (dans un autre champ, je te l'accord) mais je ne vois pas où est le problême de concaténer le champ id et le champ fichier pour obtenir le nom complêt du fichier. Ca évite une redondance d'information, et un update inutile.

par Cyrano » 01 mai 2006, 21:58

avec le last_insert_id du dernier enregistrement, il te suffit de l'incrémenter pour connaître le prochain... :-k

par Tictac » 01 mai 2006, 21:05

Bonjour , n'y a t'il pas moyen avec une requete sql de voir la prochaine valeur id qui va etre créé sans la créer ?

Merci d'avance

par Eagle » 30 avr. 2006, 13:37

Merci bien à vous tous pour votre aide.

Aux vues de tout ce que vous m'avez dit, je crois que le plus simple dans mon cas, ce sera l'astuce de Cyrano ; Je ferais donc l'enregistrement en 2 temps :
1- J'enregistre l'image dans la BDD
2- Je restructure le nom du fichier, je fais un update du champ nom et j'upload l'image avec ce nom.

Merci encore.

par iclo » 29 avr. 2006, 23:03

Tu peux ne pas stoker l'id dans le champ contenant le nom du fichier.
Il suffira de concaténer l'id et le champ fichier pour obtenir le nom du fichier.

par zeus » 29 avr. 2006, 22:35

Il existe une fonction interne au SGBD MySQL : LAST_INSERT_ID()
D'ailleurs, la fonction PHP mysql_insert_id() est basée sur cette fonction

par contre, dans l'aide, j'ai pas réussi à comprendre si tu utilise cette fonction DANS la requete, si tu as bien la valeur actuelle de l'auto_increment ou la précédente :-k

par Cyrano » 29 avr. 2006, 17:54

Pendant, ce n'est pas possible, donc tu as deux solutions :
- soit récupérer l'identifiant précédent, l'incrémenter, contruire le nom du nouveau et insérer tes données;
- soit insérer le nom sans le préfixer, récupérer le last_insert_id et ensuite faure un update sur le nom.

Récupération Valeur autoincrement de MySQL 4.1

par Eagle » 29 avr. 2006, 17:21

Bonjour à tous,

Je vous fais part de mon petit souci...
Je cherche à stocker le nom d'une image quelconque dans ma BDD.
La table qui permet de faire cela est construite comme suit :
ID => autoincrement
Nom => vchar contenant le nom du fichier
Label => vchar contenant pour l'instant le nom du fichier ou un label autre défini pat l'utilisateur

Mon souci, pour retrouver plus facilement mes fichiers, j'aimerai faire précéder le nom du fichier par son ID d'enregistrement (quelque chose comme : "21_monfichier.jpg", "22_monautrefichier.jpg").

J'ai bien utilisé la valeur "mysql_last_insert", mais la valeur n'est valable qu'une fois l'enregistrement terminé, et donc inutile dans mon cas !

Y-a-t-il un moyen de récupérer l'ID pendant la phase d'enregistrement ????

Merci d'avance de vos réponses, voire solutions... :D :lol: