La récupération de la valeur de deux listes ou l?un des deux

cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 - 7 juil. 2009 à 10:56
ptiniko Messages postés 26 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 8 juillet 2009 - 8 juil. 2009 à 11:22
Bonjour,


J’ai un petit pbm, dans une page j’ai deux listes déroulante, qui donne
à l’administrateur la possibilité de chercher la personne qui veule selon
la ville et le niveau d’étude ou bien l’un de les deux et ça mon pbm,
quand je fais la recherche avec les deux critères (ville et diplôme) je reçu
le résultat, mais si je lance la recherche pour trouver tt les candidats
d’une ville ou qui on le même diplôme, je reçu l’aperçu d’une page blanc.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 






Le code de la page de recherche :









 






<? include "../connexion.php";?>



<form name="frm" method="get" action="tes.php">





<select name="ville" size="1" id="ville">






                <option value="">- - - Ville - - -</option>






                <?






           
  $sql="select distinct ville from demandes";






           
  $result=mysql_query($sql);






           
  while($lign=mysql_fetch_array($result)){?>






           
 
<option value="<? print ($lign["ville"])?>"><? print ($lign["ville"])?></option>



              
<? }?>





</select>






 






<select name="diplome" size="1" id="diplome">






       
<option value="">- - - Choisir le niveau - - -</option>



       
<option value="Bac + 2">Bac + 2</option>






                        <option value="Bac + 3">Bac + 3</option>






                        <option value="Bac + 4">Bac + 4</option>






                        <option value="Bac + 5">Bac + 5</option>






                       
<option value="Autres">Autres</option>



</select>






 











</form>






 







Le code de la page qui traite est affiche le résultat :









 







<? include "../connexion.php";





if(!(isset($_GET["ville"]))){






           
$ville="ville";



           
}else{






            $ville=$_GET["ville"];





}






            if(!(isset($_GET["diplome"]))){






            $diplome="diplome";






            }else{






            $diplome=$_GET["diplome"];





}






 






$sql="select * from demandes where ville='$ville' && diplome='$diplome'";





$result=mysql_query($sql);





while($ligne=mysql_fetch_array($result)){




?>



<form name="fff" method="get" action="">





<? print ($ligne["ville"]);?>





<? print ($ligne["diplome"]);?>





<? print ($ligne["nom"]);?>





<? print ($ligne["prenom"]);?>





</form>





<? }?>






 





J’ai déja essayer une autre requete mais il n’a pas marcher voici :


<<  select * from demandes where ville='$ville' && diplome='$diplome'
 and ville!='$ville' && diplome!='$diplome' or ville!='$ville' || diplome!='$diplome' >>



 




J’attends l'aide de vos parts par ce que je suis vraiment pressé.
                                                                                                              merci                                                                                                

4 réponses

cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
7 juil. 2009 à 15:25
HEEELP plz, je suis besoin de vos aides
0
ptiniko Messages postés 26 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 8 juillet 2009
7 juil. 2009 à 20:15
Bonjour,

Mets des echo (ou print puisque je vois que tu l'utilises) pour vérifier l'évolution de tes deux variables $diplome et $ville. Regarde si juste de lancer cette requete "sql="select * from demandes where ville='$ville' && diplome='$diplome'";" tes variables ont bien les bonnes valeurs.
Niko
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
8 juil. 2009 à 10:51
slt ptiniko,
pour la requete "sql="select * from demandes where ville='$ville' && diplome='$diplome'";"
elle marcha impeccablement mais le pbm que j'ai, c'est quand je lance la recherche avec un seul critère,
soit la ville soit le diplome avec cette requete je suis obligé de sélectionner les deux pour avoir le résultat.
                                                                                                                              merci
0
ptiniko Messages postés 26 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 8 juillet 2009
8 juil. 2009 à 11:22
Bonjour,

Construit ta requête en fonction de l'existence ou non des variables.

En gros:

if (isset($_GET['ville']))
{
if (isset($_GET['diplome']))
{
$sql = la requete quand les deux sont définis
}
else
{
$sql = la requete pour rechercher uniquement sur les villes
}
}
else
{
if (isset($_GET['diplome']))

{

$sql = la requete quand on recherche par diplome

}

else

{

echo "Hey oh, faut choisir ou la ville ou le diplome!";

}

}
Bon c'est une solution parmis tant d'autres.
Niko
0
Rejoignez-nous