Page 1 sur 1

Generer une requete depuis ma <select>: Filtrer les re

Posté : 21 janv. 2009, 23:04
par Emy
Bonjour,

Comment filtrer les resultats d'une recherche, tout en mettant un select sur un element et choisir le mode de filtrage, par exemple, une table avec id et note:

1, Excellent
2, Excellent
3, Bon
4, Tres Bon
5, Excellent

alors sur mon tableau je mets comme titre: note et quand je clique sur le select de note je vois les resultats en mode distinct, ca me donne ca:

<select>
<option>Excellent
<option>Tres Bon
<option>Bon
</select>

et quand je selectionne Excellent, le resultat serait ainsi:

1, Excellent
2, Excellent
5, Excellent

ca veut dire, il a choisit Excellent seulement, tout en ignorant les autres.

Merci

Posté : 22 janv. 2009, 05:57
par Stef
bonjour emy,

pourrais-tu poster ton code, je ne te répondrais pas forcément moi-même, mais ceux qui essaieront pourront se faire une idée plus nette de ta problématique...

Posté : 22 janv. 2009, 13:41
par Invité
bonjour emy,

pourrais-tu poster ton code, je ne te répondrais pas forcément moi-même, mais ceux qui essaieront pourront se faire une idée plus nette de ta problématique...
voila une portion de code:
<tr align="center">
<td width="12%">Nom</td>
<td width="11%">Prenom</td>
<td width="10%">Departement</td>
<td width="16%">Poste</td>
<td width="9%">Ville</td>
<td width="10%">Salaire</td>
<td width="7%">
<?php
//secltion
$sel = "SELECT status FROM recrutement GROUP BY status";
$res = mysql_query($sel) or die ('Erreur: '.mysql_error());
$tot = mysql_num_rows($res);
?>
<select name="status" ONCHANGE="location = this.options[this.selectedIndex].value;">
<option value="index.php?rubrique=Candidats_List">Status</option>
<?php
while ($da = mysql_fetch_array($res)) {
$status = $da['status'];

$sql11 = "select * from recrutement where status='$status'";
$resultat11 = mysql_query ($sql11);
?>
<option value="index.php?rubrique=Candidats_List&status=<? echo $status; ?>"><? echo $status; ?></option>
<?
}
?>
</select>
</td>
Alors ici je regroupe tout le monde suivante le status (une note), et quand je clique sur je voudrais filtrer ce que je veux avoir comme resultat, j'ai mis: <select name="status" ONCHANGE="location = this.options[this.selectedIndex].value;"> afin de rafraichir la page, mais comment faire la requete qui suit pour avoir seulement les resultats souhaites.

Merci

Posté : 22 janv. 2009, 22:47
par Emy
J'ai tant essaye de codes, mais en vain :(

Posté : 22 janv. 2009, 23:05
par thehawk
Peut etre un élément de réponse:

Avec ton select fait un lien vers une page
je m'explique avec :
<SELECT onchange="window.location.href=this.options[this.selectedIndex].value">
<OPTION VALUE="ton_script_perso.php?filter=ASC">Filtre ...</OPTION>
</SELECT>
Ensuite tu crée une condition qui te permet de savoir dans qu'elle ordre filtrer.

Par exemple
if (isset($_GET['filter']) and !empty($_GET['filter']))
{
// ... Votre code de traitement.

}
Voici ma vision de ton souci , mais ce n'est qu'un exemple.

Amicalement Hawk