Problème de boucle

cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010 - 4 févr. 2009 à 16:20
cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010 - 4 févr. 2009 à 16:58
Bonjour à tous,
Mon problème est le suivant : j'ai une requête qui permet de rechercher une personne si elle a un papier , et dans ma  liste déroulante, si une personne a plusieurs papiers elle me met la personne 2 fois.
exemple : toto....papier n°1
               toto...papier n°2
il va me mettre toto....papier n°1               toto...papier n°2
                        toto....papier n°1              toto...papier n°2

$r=$conn->requete("select distinct * from personne, papier where papier.idpersonne=personne.idpersonne)
$idm=0;
while($r=$conn->extraction_tab($re))
     if($conn->nb_ligne($rep)>1)
     while($res=$conn->extraction_tab($rep))
     {
     $date=$res['date'];
     $id=$res['id'];
     
     if (isset($res['id']))
     {
     if($date!='')       
     $etats=2;
     else
     $etats=1;
     }
          
     echo "<option value='$id'";
     if($idm==$id)
      echo "selected";
      
     echo ">$idm &nbsp; $id";


     echo "</option>";
     }
}

2 réponses

krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009
4 févr. 2009 à 16:39
Salut, si j'ai bien compris t'as juste a faire un GROUP BY personne.idpersonne en fin de requete
0
cs_jonas03 Messages postés 52 Date d'inscription samedi 20 octobre 2007 Statut Membre Dernière intervention 7 mars 2010
4 févr. 2009 à 16:58
Non , ce n'est pas sa mon problème, il ne faut pas que cela soit trié mais il faut qu'il n'y ai que les deux résultats.(papier 1 et papier 2).
Dans ma bdd, toto à 2 papiers, il faut donc qu'il y ait dans ma liste ces deux valeurs et seulement ces 2 valeurs.
0