Récuperer directement l'id à l'ajout d'une donnée

Eléphant du PHP | 52 Messages

18 avr. 2006, 10:00

Salut à tous je vous l'accorde mon titre est pas très explicite mais je vais essayer de faire mieux ici:

en fait ce que j'aimerais faire, c'est un forum. Et lorsque j'ajoute un nouveau post dans la table "forum_post" , il faut que je mette à jour directement le champ "id_dernier_post" dans la table "forum_categories" en récuperant l'id de ce dernier post justement... vous me suivez ? :roll:

Donc je me demandais si on etait obligé de récuperer l'info en faisant une autre requete du genre: "SELECT * FROM ..." ou s'il y avait un moyen de récuperer cette info directement lors de l'ajout dans la base de donnée.

J'espère que vous avez compris ce que je voulais et merci d'avance pour votre aide :wink:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 avr. 2006, 10:04

Salut,

voir mysql_insert_id()

(si tu utilises MySQL bien sûr)

Eléphant du PHP | 52 Messages

18 avr. 2006, 10:18

C'est exactement ce qu'il me fallait ! :D

Juste avant de mettre "Résolu": est-ce que c'est possible d'utiliser cette fonction dans la requete ou l'on veut récuperer l'id ? du genre:

Code : Tout sélectionner

$sql='INSERT INTO forum_post VALUES("titre","texte",'.mysql_insert_id().')';
pour récuperer l'id de cette requete justement.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 avr. 2006, 10:24

Oui tu peux l'insérer directement, mais bon c'est sûrement mieux de passer par une vriable intermédiaire, ce qui te permettra de tester la valeur renvoyée par exemple

Enfin moi je préfère

Mais la meilleure façon de répondre à ta question aurait été de tester simplement si ça marchait...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

18 avr. 2006, 10:27

pour récuperer l'id de cette requete justement.
Juste pour être sûr : tu as compris que la fonction te renvoie l'id généré par la requête précédente hein ?

Eléphant du PHP | 52 Messages

18 avr. 2006, 10:45

oui oui c'est bien ce que je voulais et j'ai bien compris que c'était la requête précédente.

En tout cas merci beaucoup pour ton aide :wink: