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 champs d'un enregistrement au cours d'un enregistrement [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut Récupérer champs d'un enregistrement au cours d'un enregistrement
    Bonjour,

    je me trouve devant un dilèmne

    je fais une requete SQL pour créer une offre d'emploi

    INSERT INTO `recrutement` (`numero`,`nombre`,`fonction`,`profil`,`nom_concession` ) VALUES ('','$nombre','$fonction','$profil','$nom_concession');

    le champs numéro est généré automatiquement par la base "AUTO_INCREMENT"

    cependant j'en ai besoin illico apres la création comment puis-je vu que je n'ai aucun attributs qui peut faire clé...

    merci de m'aider

    Nicolas

  2. #2
    Membre chevronné Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Par défaut
    bonjour,

    (PHP 3, PHP 4, PHP 5)
    mysql_insert_id -- Retourne l'identifiant généré par la dernière requête INSERT MySQL

    http://fr.php.net/manual/fr/function...-insert-id.php

  3. #3
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    Salut

    Merci beaucoup pour ton aide TucSale

    Nicolas

  4. #4
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    Salut

    Bon j'ai toujours un probleme

    je n'utilise pas mysql_insert_id car ma requete d'insertion est faite dans une fonction (executer_requete()) et je ne veux pas creer de connexion a la bd hors de cette fonction donc je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $res = executer_requete("INSERT INTO  `recrutement`(`numero`,`nombre`,`fonction`,`profil`,`nom_concession` ) VALUES ('','$nombre','$fonction','$profil','$nom_concession');SELECT DISTINCT LAST_INSERT_ID( ) AS numero FROM recrutement;");
     
    $res = mysql_fetch_object($res); 
     
    $numero = $res->numero;
     
    echo("$numero");
    et j'obtiens :

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /Users/Nicolas/Sites/Stage/admin/nouvOffreEmploi2.php5 on line 94

    Notice: Trying to get property of non-object in /Users/Nicolas/Sites/Stage/admin/nouvOffreEmploi2.php5 on line 96


    voilou,

    si qqn peut m'aider, je suis preneurs

    merci

    Nicolas

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il y a apparament un problème dans ce que retourne la fonction, tu peux mettre le code de celle-ci ? Tu l'avais déjà testée sans cette histoire d'id ?

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    je peux voir ta fonction
    executer_requete()

  7. #7
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    salut,

    voici mon code pour la fonction exectuer requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    function executer_requete($chaine_requete) 
    {
     
     
    $host = "localhost";
    $login = "root";
    $password = "root";
    $bd = "BDestelle";
     
     
      // 1) ouverture de la connexion a la base
     
      $connexion_bd=mysql_connect($host,$login,$password);
      if(!$connexion_bd) 
      {
        echo "<B>Erreur de connexion au serveur de BD </B>";
        exit;
      }
     
      // 2) exécution de la requête 
     
      //commit et rollback pour eviter les incohérence dans la base
      $resultats_requete = mysql_db_query($bd,$chaine_requete);
     
      // 3) fermeture de la connexion
     
      if (!mysql_close())
      {
        echo "<B>Erreur de fermeture de la BD</B>";
        exit;
      }
     
      // 4) retour des resultats
     
     
        return $resultats_requete;  // retour du résultat
     
    }

    merci pour votre aide


    Nicolas

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    essai ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $res = executer_requete("INSERT INTO `recrutement`(`numero`,`nombre`,`fonction`,`profil`,`nom_concession` ) VALUES ('','$nombre','$fonction','$profil','$nom_concession');
    //recupération de la valeur de l'id de l'enregistrment ajouter
    $my_id = mysql_insert_id();// ou  $my_id = mysql_insert_id($res)

  9. #9
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    Salut,

    j'ai deja essayé ça ne fonctionne pas car il faut que le mysql_insert_id soit executé pendant une connexion a la bd hors à la sortie de executer_requete, il n'y a plus de connexion, si je ne trouve pas je vais devoir creer une connnxion rien que pour ça mais je n'aime pas trop faire ça.....

    merci

    Nicolas

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    tu peux aussi renvoyé au niveau de ta fonction un tableau contenant deux valeur : la ressources $res et l'id inserer. mais ça c'est du bricolage (pas vraiment conseillé)

  11. #11
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    c bizard qd meme cette requete fonctionne correctement sur phpmyadmin, je ne comprends pas pourquoi ça ne me retourne pas la meme chose....

  12. #12
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Ca renvoie quelque chose d'intéressant le résultat d'un INSERT ? Si tu t'en sers pas, tu n'as qu'à faire un test dans ta fonction, si c'est un INSERT, tu renvoies l'id ajouté, sinon tu renvoies le résultat de la requête.

  13. #13
    Membre confirmé Avatar de goldorax113
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2002
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2002
    Messages : 111
    Par défaut
    oui je pense que je vais faire comme ça...

    Merci pour vos aides


    Nicolas

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2012, 23h54
  2. [Toutes versions] etat/vba : accèder à un champ de l'enregistrement en cours
    Par tajjorf dans le forum IHM
    Réponses: 3
    Dernier message: 07/07/2010, 14h41
  3. Récupérer le numéro de l'enregistrement en cours
    Par devdev dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 14/05/2009, 16h57
  4. Réponses: 4
    Dernier message: 11/02/2007, 06h17
  5. Réponses: 1
    Dernier message: 16/09/2005, 14h07

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