Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête avec jointure

Aidez moi :D

Sujet résolu
    16 mars 2011 à 15:44:22

    Bonjour,

    J'ai un systeme de filtre que je n'ai pas touché pendant plusieurs mois. J'ai voulu rajouter un filtre afin d'affiner une recherche mais tout foire.

    Voici la requête :
    <?php
    $req = $bdd->prepare("SELECT * FROM article  INNER JOIN membre ON article.id_pseudo = membre.id WHERE pr BETWEEN  :pr AND :pr2 ");
    				
    				$req->execute(array('pr' => $_POST['pr'],'pr2' => $_POST['pr2']));
    
    while($donnees = $req->fetch())
    {
      ?>
      
    	<table>
    		<tr><td><h3> <a href="affichagedemande.php?demande=<?php echo $donnees['id']; ?>"><?php echo $donnees['nom_site'];?></a></h3><br/><br/></td></tr>    
            <tr><td>Catégorie : <?php echo $donnees['categorie']?><br/></tr></td>
    		<tr><td>Type de site : <?php echo $donnees['typesite']?><br/><br/></tr></td>
    		<tr><td>PR : <?php echo $donnees['pr']?><br/><br/></tr></td>
    	</table>
    	<br/>
    <?php 
    
    }
    


    Mon probleme c'est que seulement 3 choix sortent (au lieu de 8-9).
    le premier site a un PR de 1, le 2eme a un pr de 2 et le 3eme un pr de 3.
    En supprimant la la jointure, donc le INNER JOIN, tout fonctionne. Mais le problème c'est que le pseudo et le mail de la personne ayant rentrer son site dans la base n'apparait plus.

    Info supplémentaire : J'ai une table membre et une table article. Dans table article j'ai id_pseudo afin de faire la jointure.

    Ma question est donc, pourquoi la requête ne fonctionne pas avec la jointure?

    Je ne sais pas si je suis clair :p
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      17 mars 2011 à 12:42:01

      Bonjour,
      Ce serait bien de lui dire ou est "pr" article.pr OU membre.pr
      D'autre part fait
      SELECT *.article,*.membre FROM article INNER JOIN membre

      Enfin, avec LEFT JOIN
      toute la table sera prise si la condition est remplie, même si membre n'a pas d'équivalent.

      HOP THIS HELP :)
      • Partager sur Facebook
      • Partager sur Twitter
        17 mars 2011 à 14:35:54

        Le problème venait un peu de là.

        Avec LEFT ca marche correctement car tous les champs ne sont pas rempli.
        Et puis j'avais mis "<" au lieu de "<"

        Je vais continuer tous les cas de figure afin de voir si tout fonctionne :)

        Merci.
        • Partager sur Facebook
        • Partager sur Twitter

        Requête avec jointure

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown