[RESOLU] Filtres sur requete

Eléphant du PHP | 297 Messages

29 mars 2015, 14:36

Bonjour,
Voila, mon probleme: j'effectue une requete qui me donne un resultat sous forme de liste.
Ensuite je souhaite proposer plusieurs filtre pour préciser les résultats. (sur la meme page, avec un nouvel enregistrement)
J'ai donc mis en place un formulaire:

Code : Tout sélectionner

<form id="form1" name="form1" method="post" action="resultat.php"> <table width="90%" border="0" align="center"> <tr> <td width="20%" align="center" class="arial_noir_12_gras">Excurtions</td> <td width="20%" align="center"><span class="arial_gris_12"> <label> <input <?php if (!(strcmp($row_circuit_filtre['service'],"Privé"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="Privé" value="Privé" id="Service" /> Priv&eacute;es</label> </span></td> <td align="center"><p> <span class="arial_gris_12"> <label> <input <?php if (!(strcmp($row_circuit_filtre['service'],"Regroupé"))) {echo "checked=\"checked\"";} ?> type="checkbox" name="Regroupé" value="Regroupé" id="Service" /> En petit groupe</label> <br /> </span></p></td> <td width="20%" align="center">&nbsp;</td> <td width="20%" align="center">&nbsp;</td> </tr> <tr> <td align="center" class="arial_noir_12_gras">Pays</td> <td align="center"><span class="arial_gris_12"> <label> <input type="checkbox" name="vietnam" value="vietnam" id="pays" /> vietnam</label> </span></td> <td align="center"><p> <span class="arial_gris_12"> <label> <input type="checkbox" name="cambodge" value="cambodge" id="pays" /> cambodge</label> <br /> </span></p></td> <td align="center">&nbsp;</td> <td align="center"><p> <span class="arial_gris_12"><br /> </span></p></td> </tr> <tr> <td align="center">&nbsp;</td> <td align="center">&nbsp;</td> <td width="20%" align="center">&nbsp;</td> <td width="20%" align="center">&nbsp;</td> <td width="20%" align="center"><span class="arial_gris_12"> <input type="submit" name="Filtrer" id="Filtrer" value="Envoyer" /> </span></td> </tr> </table> </form>
et en jeux d'enregistrement
$colname_circuit_filtre = "regroupé";
if (isset($_POST['service'])) {
  $colname_circuit_filtre = $_POST['service'];
}
$colname2_circuit_filtre = "cambodge";
if (isset($_POST['pays'])) {
  $colname2_circuit_filtre = $_POST['pays'];
}
mysql_select_db($database_connectvoyage, $connectvoyage);
$query_circuit_filtre = sprintf("SELECT * FROM produits WHERE service = %s AND pays = %s", GetSQLValueString($colname_circuit_filtre, "text"),GetSQLValueString($colname2_circuit_filtre, "text"));
$circuit_filtre = mysql_query($query_circuit_filtre, $connectvoyage) or die(mysql_error());
$row_circuit_filtre = mysql_fetch_assoc($circuit_filtre);
$totalRows_circuit_filtre = mysql_num_rows($circuit_filtre);
la liste s'affiche bien avec les 2 criteres par defaut regroupé et cambodge, mais lorsque je j'utilise le formulaire, et coche privé et vietnam par exemple, ca reste sur les 2 criteres par defaut. les post ne semble pas pris en compe.

Merci pour votre aide.

Mammouth du PHP | 688 Messages

29 mars 2015, 16:38

$_POST['pays'] se base sur l'atribut name et non id. vu qu'il n'y a pas d'entrée du formulaire avec un name="pays", cela ne fonctionne pas.

Eléphant du PHP | 297 Messages

02 avr. 2015, 14:20

Bonjour et merci. C'etait bien ca.