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 :

[php] requete bizard


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut [php] requete bizard
    Bonjour j'ai un probleme... avec ma requete elle ne veu pa me donné le résultat de la requete c'est bizard , voyez par vous meme ...du coup ma requete $lae ne fonctione pas ...voici
    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
     
    $no = "select numlae from listeaenvoyer where numrens ='$num' " ;
    $nu = mysql_query($no);
     
     
     
     
     
     
    // enregistrement du numero de service afin qu'il n'est acces qu'aux candidats qu'il a saisie
     
    $numservice = $_SESSION['numserv'];
     
     
    $lae = "UPDATE listeaenvoyer SET titre='".$civilite."', prenom ='".$prenom."' , nom='".$nom."' , adresse1='".$adresse1."' , adresse2='".$adresse2."' , cp='".$cp."' , ville='".$ville."' , DateEnvoiDos='".$dateenvoi."' , NumService='".$numservice."' where numLAE='$no' " ;
     
     
    echo("$lae");
    voici cke me donne l'echo

    UPDATE listeaenvoyer SET titre='madame', prenom ='zidane' , nom='zinedine' , adresse1='' , adresse2='' , cp='0' , ville='' , DateEnvoiDos='' , NumService='320' where numLAE='select numlae from listeaenvoyer where numrens ='23' '


    le soucis est je pense cki es en rouge a la place de la requete il devrai y avoir le résultat...c'est a dire Numlae...

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    quand tu fais mysql_query n'oublie pas d'ajouter
    or die(mysql_error()."erreur mysql")
    ça te permet d'en savoir un peu plus sur l'erreur d'execution de la requete (si y'en as).
    a part ça je crois q ce qui cloche dans ta requete ce sont les erreurs de type. en fait tu compare un type numérique et un type chaine
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $no = "select numlae from listeaenvoyer where numrens ='$num' " ;
    $nu = mysql_query($no);
    essai ça plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $no = "select numlae from listeaenvoyer where numrens =$num " ;
    $nu = mysql_query($no) or die( mysql_error());
    fais de meme pour l'autre requete

  3. #3
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    et ca serait pas plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numLAE='$nu' " ;

  4. #4
    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
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par Bebel
    et ca serait pas plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numLAE='$nu' " ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numLAE='$nu['numlae']' " ;
    même, non ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    Citation Envoyé par JWhite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numLAE='$nu['numlae']' " ;
    même, non ?
    cela n'est valable que si numLAE est de type chaine. autrement tu enlève les quotes autour de la variable.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    jj'ai essayé...voici ce que ca me met....

    UPDATE listeaenvoyer SET titre='madame', prenom ='ogeopeg' , nom='opkf' , adresse1='fefe' , adresse2='fefe' , cp='0' , ville='' , DateEnvoiDos='' , NumService='320' where numLAE=Resource id #4

  7. #7
    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
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par ouatmad
    cela n'est valable que si numLAE est de type chaine. autrement tu enlève les quotes autour de la variable.
    Ah non je me suis mangé je pensais que $nu était le résultat d'un mysql_fetch_array alors que c'est la requête imbriquée. En fait $nu sert à rien. Au final en tout cas je vois pas l'intérête de vouloir faire des requêtes imbriquées, autant faire simple et faire ça tranquille en deux temps. Tu fais ton SELECT, tu récupères le numéro, et après tu fais ton UPDATE avec ce numéro. Pas trop compliqué (normalement parce que avec toi je m'attends à tout...).

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    lol oui...c bien ca le prob...c'est que c'est tou con...mais ca fonctionne pas ..

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    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
     
     
    $no = "select numlae from listeaenvoyer where numrens =$num " ;
    $nu = mysql_query($no) or die( mysql_error());
     
     
    echo("$no");
     
    echo("$nu");
     
     
    // enregistrement du numero de service afin qu'il n'est acces qu'aux candidats qu'il a saisie
     
    $numservice = $_SESSION['numserv']; 
     
     
    $lae = "UPDATE listeaenvoyer SET titre='".$civilite."', prenom ='".$prenom."' , nom='".$nom."' , adresse1='".$adresse1."' , adresse2='".$adresse2."' , cp='".$cp."' , ville='".$ville."' , DateEnvoiDos='".$dateenvoi."' , NumService='".$numservice."' 
    where numLAE=$nu " ;

    echo("$no"); me retourne ca :

    select numlae from listeaenvoyer where numrens =3



    et echo("$nu"); me retourne ca :

    Resource id #4

  10. #10
    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
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par marie4449
    lol oui...c bien ca le prob...c'est que c'est tou con...mais ca fonctionne pas ..
    Tu as la démarche, après reste à appliquer avec les exemples de codes dans la FAQ (sur les BDD), alors c'est sûr il faut réfléchir un peu mais normalement c'est à la portée de n'importe qui.

    http://php.developpez.com/faq/?page=bdd_mysql

    d'ailleurs au passage il y a le contre-exemple parfait de ce que tu essayais de faire (le SELECT dans le UPDATE), preuve que tu n'as pas utilisé les moyens mis à ta disposition par dvp.com

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    bah si je fait apelle a vous...C'est que j'ai cru tout essayé et que ca fonctionne pas .... !!!!!!

  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
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par marie4449
    bah si je fait apelle a vous...C'est que j'ai cru tout essayé et que ca fonctionne pas .... !!!!!!
    Vu tes précédents messages personne ne peut te croire une seule seconde...

    Je te donne la façon de faire (ci-dessus), y'a plus qu'à voir le lien, à chercher un peu dans la doc (c'est dans la faq) et en 15 minutes si tu réfléchis un peu ça va passer tout seul tu verras.

    Oh Marie...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 55
    Points
    55
    Par défaut
    bah non je voie Pas...C'est a partir de mon mysql_query ?

  14. #14
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Salut,
    au moment ou tu construis ta requête $lae, la variable $nu ne contient pas une donnée issue de ta base, mais une reference vers un objet PHP capable de parcourir le résultat de la requete.
    c'est pour cela que tu obtiens le "Resource id #4" quand tu fais un echo sur $nu.
    Il faut d'abord que tu extraie une donnée en particulier de ta requete à l'aide d'un fetch.
    il faut que tu fasse quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $nu = mysql_query($no) or die( mysql_error());
     
    ...
     
    $result_nu=musql_fetch_array($nu);
    $leNu=$result_nu["numlae"];
     ...
     
    $lae = "UPDATE listeaenvoyer SET titre='".$civilite."', prenom ='".$prenom."' , nom='".$nom."' , adresse1='".$adresse1."' , adresse2='".$adresse2."' , cp='".$cp."' , ville='".$ville."' , DateEnvoiDos='".$dateenvoi."' , NumService='".$numservice."' 
    where numLAE="'.$leNu."'";
    Ceci est archi-basique, et quoi que tu en dises, tu aurais pu trouver cela très facilement dans la FAQ si tu avais cherché .... sauf que bien sûr tu ne te donne pas trop de mal et tu attends que ça tombe 'tout cuit'
    Je veux bien que tu sois débutante mais tu pourrais faire un effort. Moi aussi j'ai été débutant en PHP, je sais ce que c'est, mais si tu ne te donne pas du mal, tu resteras toujours débutante et à la fin plus personne ne voudra t'aider.

Discussions similaires

  1. Requete bizard entre 2 tables
    Par Arttt dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 30/06/2008, 13h54
  2. [MySQL] Du code php (requete) dans le OnClick du <a href
    Par yohann26 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 24/10/2007, 17h19
  3. Réponses: 4
    Dernier message: 26/04/2006, 14h36
  4. [MySQL] Sql-Php / Requete/ Afficher l'age (aide nécessaire please)
    Par Odilon dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 21/10/2005, 09h21
  5. [SQL+php] requete a trouver
    Par theclear dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/10/2004, 09h50

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