1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| <?php
$selected = function($k, $v) { return ($k === $v) ? ' selected' : ''; };
$selectedTri = (empty($_POST['liste_choix_tri'])) ? 'Trier' : $_POST['liste_choix_tri'];
$selectedFiltreType = (empty($_POST['liste_filtre_type'])) ? 'Filtrer par type' : $_POST['liste_filtre_type'];
$selectedFiltreHotel = (empty($_POST['liste_filtre_hotel'])) ? 'Filtrer par hôtel' : $_POST['liste_filtre_hotel'];
?>
<div id="triFiltre">
<form method="post" action="index.php" name="formulaireTri">
<select name="liste_choix_tri">
<option value="" <?php echo $selected($selectedTri, 'Trier'); ?> >--- Trier ---</option>
<option value="type" <?php echo $selected($selectedTri, 'type'); ?> >par Type</option>
<option value="nom" <?php echo $selected($selectedTri, 'nom'); ?> >par Nom</option>
<option value="pole" <?php echo $selected($selectedTri, 'pole'); ?> >par Pôle</option>
</select>
<select name="liste_filtre_type">
<option value="" <?php echo $selected($selectedFiltreType, 'Filtre par type'); ?>>--- Filtrer par type ---</option>
<option value="orga" <?php echo $selected($selectedFiltreType, 'orga'); ?> >ORGA</option>
<option value="candi" <?php echo $selected($selectedFiltreType, 'candi'); ?> >CANDI</option>
<option value="jury" <?php echo $selected($selectedFiltreType, 'jury'); ?> >JURY</option>
</select>
<select name="liste_filtre_hotel">
<option value="" <?php echo $selected($selectedFiltreHotel, 'Filtre par hôtel'); ?> >--- Filtrer par Hôtel ---</option>
<option value="Hôtel 1" <?php echo $selected($selectedFiltreHotel, 'Hôtel 1'); ?> >Hôtel 1</option>
<option value="Hôtel 2" <?php echo $selected($selectedFiltreHotel, 'Hôtel 2'); ?> >Hôtel 2</option>
<option value="Hôtel 3" <?php echo $selected($selectedFiltreHotel, 'Hôtel 3'); ?> >Hôtel 3</option>
</select>
<input type="submit" value="OK" />
</form>
</div>
<?php
$sql = 'SELECT * FROM olympiades';
$param = array();
$where = array();
// ajoute le filtre dans la requête
if (!empty($_POST['liste_filtre_type'])) {
$where[] = ' type = ? ';
$param[] = $_POST['liste_filtre_type'];
}
if(!empty($_POST['liste_filtre_hotel'])) {
$where[] = ' nomHotel = ? ';
$param[] = $_POST['liste_filtre_hotel'];
}
$sql .= implode($where, ' AND ');
// ajoute l'ordre dans la requête
$colonnes_filtre = array('type', 'nom', 'pole');
if (!empty($_POST['liste_choix_tri']) && in_array($_POST['liste_choix_tri'], $colonnes_filtre)) {
$sql .= ' ORDER BY ' . $_POST['liste_choix_tri'];
}
$reponse = $bdd->prepare($sql);
$reponse->execute($param);
?>
<table>
<tr>
<td>N°</td>
<td>Nom</td>
<td>Prénom</td>
<td>Pôle</td>
</tr>
<?php
while ($donnees = $reponse->fetch())
{
?>
<tr>
<td> <?php echo $donnees['id']; ?> </td>
<td><?php echo $donnees['nom']; ?> </td>
<td><?php echo $donnees['prenom']; ?> </td>
<td> <?php echo $donnees['pole']; ?> </td>
</tr>
<?php
}
$reponse->closeCursor();
?>
</table> |
Partager