IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer l'ID d'une entrée qui vient d'être créée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Points : 30
    Points
    30
    Par défaut Récupérer l'ID d'une entrée qui vient d'être créée
    Un peu vague, alors je m'explique.

    Je crée un système d'albums de photos, et j'ai un form de création d'album.

    J'ai une table nommée albums qui elle contient les infos globales des albums (id, auteur, titre et date)

    Donc suivant l'éxécution de mon form, le script doit effectuer 2 requetes.

    1- Ajouter l'information a la table Albums
    2- Créer une nouvelle table nommée Album_(ID)

    C'est la que ca ce gâte. (ID) doit être pareil à l'ID dans le nouvel enregistrement d'Albums, mais ce dernier est un Auto-Increment

    Je dois donc récupérer l'ID sur Albums au moment ou il est crée. Comment faire?

  2. #2
    Membre régulier Avatar de King_T
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 121
    Points
    121
    Par défaut
    salut,
    si ton ID est de type entier:
    pour récupérer le dernier ID sur Albums, tu peut faire une requete qui donne comme valeur de retour le plus grand ID ds la table c-à-d le dernier.
    voila un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "SELECT  MAX(ID) as max FROM Albums";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    while( $data = mysql_fetch_assoc($req))
    { $ID=$data['max'];}
    Dreaming in Digital, Living in Realtime, Thinking in Binary, Talking in IP .... Welcome to our World !!!!

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Celà peut etre une solution mais tu as aussi ceci dans la FAQ : Comment récupérer la dernière valeur d'un champ autoincrémenté ?

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 48
    Points : 30
    Points
    30
    Par défaut
    King_T, ta solution semble très bonne, mais si 2 albums sont crées en même temps, ca pourrait foirer.

    Kerod, les solutions de la faq semblent être les plus sûres. Je ne suis pas sûr de comment les utiliser, je vais donc faire une petite recherche

    *EDIT La fonction mysql_insert_id() est parfaite! Merci a vous deux!

  5. #5
    Membre régulier Avatar de micatmidog
    Profil pro
    Inscrit en
    Février 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Février 2004
    Messages : 94
    Points : 71
    Points
    71
    Par défaut
    J'ai eu le même problème pour mon projet.

    Ce que tu peux faire c'est créer un champ "ip".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ip=$_SERVER["REMOTE_ADDR"];
    mysql_query("SELECT * FROM table WHERE ip = '$ip' ORDER BY id DESC LIMIT 1");
    Et là tu es sûr à 99% que ce soit la bonne "id".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/10/2008, 10h59
  2. Réponses: 7
    Dernier message: 16/06/2006, 16h31
  3. Réponses: 2
    Dernier message: 05/06/2006, 17h17
  4. Réponses: 14
    Dernier message: 14/03/2005, 09h16
  5. Récupérer l'id d'un élément qui vient d'être inséré
    Par sg-40 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2004, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo