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 :

Jointure avec $_POST [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Points : 55
    Points
    55
    Par défaut Jointure avec $_POST
    Bonjour tous le monde,

    j'ai besoin d'aide concernant un petit projet à faire en stage :

    je récupère différentes informations de la base de données dans des menus déroulants, et en fonction du choix du menu déroulant je fais une requêtes avec des "if" pour récupérer certaines infos:

    code du menu déroulant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <select name="cat" id="cat" style="width:115">
     
     		<?php
    	  		while ($donnees = $req1->fetch())
      			{
      		?>
     
     			  <option value="<?php echo $donnees['cat_contrat'];?>"><?php echo $donnees['cat_contrat'];?></option>
    <?php
      }
    ?>
    </select> <br><br>
    et voici le code de récupération :
    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
    echo "vous avez selectionné". '&nbsp'.$_POST['cat'].'&nbsp'.'</br>';
     
    if (isset($_POST['cat'])) {
     
    	$req= $pdo->query("SELECT * from utilisateur as u, contract as c,mouvement as m where c.id_contrat=m.id_contrat  and m.id_uti=u.id_uti  
    					   and cat_contrat =".$_POST['cat']);
     
    $req->setFetchMode(PDO::FETCH_OBJ); // on dit qu'on veut que le résultat soit récupérable sous forme d'objet
     
    while($ligne = $req->fetch($_POST['cat'])) // on récupère la liste des status
    {
            echo '<table width="30%" cell-align="center"; border="1" align="center" cellpadding="0" cellspacing="0">';
           	echo '<tr>';
            echo '<td>'.$ligne->nom_uti.'</td>'; 
            echo '<td>'.$ligne->prenom_uti.'</td>'; 
      //    echo '<td>'.$ligne->id_contrat.'</td>'; 
    }
    }
    L'erreur est la suivante :
    Call to a member function setFetchMode()
    celà signifie que la requête est fausse hors quand je la test sur PHPMyadmin la requête est bonne....

    Dans l'attente de vos réponse

    Merciii

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Prends l'habitude de donner les messages d'erreur en entier.

    Essai comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (isset($_POST['cat'])) {
     
    	$req= $pdo->prepare('SELECT * from utilisateur as u, contract as c,mouvement as m where c.id_contrat=m.id_contrat  and m.id_uti=u.id_uti  
    					   and cat_contrat =:cat');
            $req->execute(array(':cat'=>$_POST['cat'])); 
    $req->setFetchMode(PDO::FETCH_OBJ);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    l'erreur en entier est :

    Call to a member function setFetchMode() on a non-object in C:\wamp\www\test_recherche\recup.php on line 22
    La ligne 22 est au niveau du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->setFetchMode(PDO::FETCH_OBJ);
    j'ai essayer de mettre la ligne que vous m'avez donner et l'erreur suivante est :

    PDOStatement::fetch() expects parameter 1 to be long, string given in C:\wamp\www\test_recherche\recup.php on line 21

    C'est-à_dire après le while

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Houla je ne l'avais pas vu celle la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['cat'])) {
           $req= $pdo->prepare('SELECT * from utilisateur as u, contract as c,mouvement as m where c.id_contrat=m.id_contrat  and m.id_uti=u.id_uti  
    					   and cat_contrat =:cat');
           $req->execute(array(':cat'=>$_POST['cat'])); 
           while ($row = $req->fetch(PDO::FETCH_OBJ)) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Points : 55
    Points
    55
    Par défaut
    Merci énormément beaucoup =)

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

Discussions similaires

  1. jointure avec 2 id différent pour 1 seul table.
    Par vermo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 10/11/2005, 15h19
  2. jointure avec clé composée de 2 colonnes
    Par free07 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/10/2005, 07h07
  3. Réponses: 2
    Dernier message: 27/10/2005, 11h15
  4. jointure avec xslt
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/09/2005, 10h48
  5. [SAGE]Jointures avec SGBD
    Par mat.M dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 09/10/2003, 12h23

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