rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[MySQL - ASP] Recherche Multicritères

Posté par Aquel, le jeudi 19 avril 2007 à 17:41:48
Bonjour,

Je réalise actuellement une application intranet permettant de gérer les stages. Je doit dans celle-ci incorporer une formulaire de recherche multicritères.

Des entrées de type "checkbox" permettent de filtrer les fiches (par exemple: n'afficher que les stages conventionnés, n'afficher que les stages rémunérés, etc...).

Le problème est que je ne sais pas comment combiner ces résultats.

J'espère avoir été clair. Je vous envoi un bout de mon code pour vous éclairer:

<%
var chercher_prime = Request.Form("chercher_prime");
var chercher_embauche = Request.Form("chercher_embauche"); 
var chercher_fin = Request.Form("chercher_fin"); 
var chercher_milieu = Request.Form("chercher_milieu"); 
var chercher_convention = Request.Form("chercher_convention"); 
var chercher_present = Request.Form("chercher_present"); 

if (chercher_prime == "chercher_prime"){ 
	var req = "SELECT cle,civilite,nom,prenom,type_stage,diplome,j_debut,m_debut,a­_debut,j_fin,m_fin,a_fin,duree,agence,tuteur,mission,convent­ion,niveau,diplome,ecole,commentaireA,commentaireB,marque,po­ste,conclusion,indemnite,prime,suivi_1,suivi_2,suivi_3,suivi­_4,suivi_5,suivi_6,suivi_7,suivi_8,suivi_9,suivi_10,date_sui­vi_1,date_suivi_2,date_suivi_3,date_suivi_4,date_suivi_5,dat­e_suivi_6,date_suivi_7,date_suivi_8,date_suivi_9,date_suivi_­10 FROM stagiaires WHERE prime!=''";
}else{

if (chercher_embauche == "chercher_embauche"){ 
	var req = "SELECT cle,civilite,nom,prenom,type_stage,diplome,j_debut,m_debut,a­_debut,j_fin,m_fin,a_fin,duree,agence,tuteur,mission,convent­ion,niveau,diplome,ecole,commentaireA,commentaireB,marque,po­ste,conclusion,indemnite,prime,suivi_1,suivi_2,suivi_3,suivi­_4,suivi_5,suivi_6,suivi_7,suivi_8,suivi_9,suivi_10,date_sui­vi_1,date_suivi_2,date_suivi_3,date_suivi_4,date_suivi_5,dat­e_suivi_6,date_suivi_7,date_suivi_8,date_suivi_9,date_suivi_­10 FROM stagiaires WHERE conclusion='o'";
	
}else{
var req = "SELECT cle,civilite,nom,prenom,type_stage,diplome,j_debut,m_debut,a­_debut,j_fin,m_fin,a_fin,duree,agence,tuteur,mission,convent­ion,niveau,diplome,ecole,commentaireA,commentaireB,marque,po­ste,conclusion,indemnite,prime,suivi_1,suivi_2,suivi_3,suivi­_4,suivi_5,suivi_6,suivi_7,suivi_8,suivi_9,suivi_10,date_sui­vi_1,date_suivi_2,date_suivi_3,date_suivi_4,date_suivi_5,dat­e_suivi_6,date_suivi_7,date_suivi_8,date_suivi_9,date_suivi_­10 FROM stagiaires ORDER BY nom ASC";
}};
	
	RS = Server.CreateObject("ADODB.RecordSet");
	RS.Open(req,conn,3,1);
		
	while (!RS.EOF)
	{
%>



Merci pour votre aide !
Répondre à Aquel  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Aquel, le vendredi 20 avril 2007 à 17:13:34
J'ai résolu mon problème en mettant des clauses WHERE dans les "value" des "checkbox" du formulaire de recherche.

Je récupère ensuite les ces petits bout de requêtes et les ajoutes à la requête de base:


<table border="0" cellpadding="0" cellspacing="0" class="checkbox">

	<tr>
		<td>
		<%if (chercher_convention=="&&convention='true'"­;){%>
			<input type="checkbox" name="chercher_convention" value="&&convention='true'" checked="checked" />
		<%}else{%>
			<input type="checkbox" name="chercher_convention" value="&&convention='true'" />
		<%}%>
		</td>
		<td>
			Convention reçue
		</td>
	</tr>
	<tr>
		<td>
		<%if (chercher_milieu=="&&commentaireA!=''"){%&­gt;
			<input type="checkbox" name="chercher_milieu" value="&&commentaireA!=''" checked="checked" />
		<%}else{%>
			<input type="checkbox" name="chercher_milieu" value="&&commentaireA!=''" />
		<%}%>
		</td>
		<td>
			Commentaires de milieu de stage
		</td>
	</tr>
	<tr>
		<td>
		<%if (chercher_fin=="&&commentaireB!=''"){%>­
			<input type="checkbox" name="chercher_fin" value="&&commentaireB!=''" checked="checked" />
		<%}else{%>
			<input type="checkbox" name="chercher_fin" value="&&commentaireB!=''" />
		<%}%>
		</td>
		<td>
			Commentaires de fin de stage
		</td>
	</tr>
	<tr>
		<td>
		<%if (chercher_embauche=="&&conclusion='o'"){%&­gt;
			<input type="checkbox" name="chercher_embauche" value="&&conclusion='o'" checked="checked" />
		<%}else{%>
			<input type="checkbox" name="chercher_embauche" value="&&conclusion='o'" />
		<%}%>
		</td>
		<td>
			Embauche envisagée
		</td>
	</tr>
	<tr>
		<td>
		<%if (chercher_prime=="&&prime!=''"){%>
			<input type="checkbox" name="chercher_prime" value="&&prime!=''" checked="checked" />
		<%}else{%>
			<input type="checkbox" name="chercher_prime" value="&&prime!=''" />
		<%}%>
		</td>
		<td>
			Prime de fin de stage
		</td>
	</tr>
	<tr>
		<td>
		</td>
		<td align="right">
		<br />
			<!--<input type="image" border="0" src="images/search.gif" />-->
			<input type="submit" value="Chercher" />
		</td>
	</tr>
</table>
</form>

<%
 
var req = "SELECT cle,civilite,nom,prenom,type_stage,diplome,j_debut,m_debut,a­_debut,j_fin,m_fin,a_fin,duree,agence,tuteur,mission,convent­ion,niveau,diplome,ecole,commentaireA,commentaireB,marque,po­ste,conclusion,indemnite,prime,suivi_1,suivi_2,suivi_3,suivi­_4,suivi_5,suivi_6,suivi_7,suivi_8,suivi_9,suivi_10,date_sui­vi_1,date_suivi_2,date_suivi_3,date_suivi_4,date_suivi_5,dat­e_suivi_6,date_suivi_7,date_suivi_8,date_suivi_9,date_suivi_­10,date_debut,date_fin FROM stagiaires WHERE cle!=''";




if (chercher_embauche=="&&conclusion='o'"){

	req=req.concat(chercher_embauche);	
}

if (chercher_prime=="&&prime!=''"){

	req=req.concat(chercher_prime);	
}

if (chercher_milieu=="&&commentaireA!=''"){

	req=req.concat(chercher_milieu);	
}

if (chercher_fin=="&&commentaireB!=''"){

	req=req.concat(chercher_fin);	
}

if (chercher_convention=="&&convention='true'"­;){

	req=req.concat(chercher_convention);	
}

	RS = Server.CreateObject("ADODB.RecordSet");
	RS.Open(req,conn,3,1);
	
	
	
		
	while (!RS.EOF)
	{

etc...


En espérant que ça en aide certain !
Répondre à Aquel
Logiciels pertinents trouvés dans les téléchargements
Télécharger MySQL 5.0.51bMySQL - MySQL est une des systèmes de gestion de bases de données le plus répandu au monde. Catégorie: Bases de données
Licence: Open Source
Télécharger ASPI Drivers 2.0.1.74ASPI Drivers - Le fichier wnaspi32.dll représente un pilote ASPI permettant à des logiciels de gravure de reconnaitre et de manipuler des...Catégorie: Gravure
Licence: Freeware/gratuit
Télécharger DB Designer 4.0.5.6DB Designer - DB designer 4 est un logiciel permettant de concevoir visuellement des bases de données. Il possède également des fonctions...Catégorie: Bases de données
Licence: Open Source
Télécharger Avast! 4 Familial 4.8.1229Avast! 4 Familial - Avast! 4 Home Edition est un antivirus complet prévu pour les utilisateurs personnels et un usage non commercial. Le...Catégorie: Antivirus
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [MySQL ASP] Recherche Multicritères »