Page 1 sur 1
Formulaire
Posté : 13 janv. 2007, 00:30
par cmoi
Bonjour,
j'ai crée un formulaire qui fonctionne bien : il alimente ma base Mysql.
Comment peut-on faire pour renseigner un champ de la base qui n'est pas dans le formulaire pour obtenir ça :
europoleformations.free.fr/formation/fiche_OF.php?REF=2
REF étant la clé primaire qui s'auto incrémente. Il faut donc reprendre dans l'adresse le dernier numéro.
Merci pour votre aide.
Posté : 13 janv. 2007, 00:34
par Xenon_54
Cette fonction te retourne le dernier ID générée par un insert avec un champ auto_increment: mysql_insert_id()
Posté : 13 janv. 2007, 00:34
par jojolapine
j'ai pas trop compris, mais j'essaye de deviner

tu souhaites rediriger l'utilisateur vers une ancre sur l'enregistrement qui vient de se faire, et tu as besoin de l'id auto_increment pour celà ?
=> mysql_insert_id()
si c'est pas ça tu peux réexpliquer
edit: j'ai écrit trop de mots... je me suis fait doubler par lucky-luke
Posté : 13 janv. 2007, 00:59
par Ajoloca
Bonsoir,
Attention avec mysql_insert_id(), il n'est valable que pour la session MySQL en cours et ne tiens pas compte de la table.
Je te conseille de le récupérer par SHOW TABLE STATUS LIKE 'nom_table' et en soustrayant 1 à la valeur du champ 'Auto_increment'.
Si tu utilises MySQL 5.x il est encore préférable de se servir des données du schéma 'INFORMATION_SCHEMA' avec QQ chose du style
SELECT (auto_increment - 1) AS last_insert
FROM information_schema.tables
WHERE table_schema = 'nom_base'
AND table_name = 'nom_table';
Posté : 13 janv. 2007, 11:03
par cmoi
J'ai fait la modif suivante dans ma base. J'ai inscrit par défaut cette valeur : europoleformations.free.fr/formation/fiche_OF.php?REF=
dans un champ qui s'appelle SITE.
Ce champ n'apparaît pas dans le formulaire. Ce que je souhaite c'est qu'à chaque création d'un nouvel enregistrement, ce champ se complète du numéro de l'enregistrement.