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