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
| <?php
// valeurs autorisées
$frequences = array('Quotidien', 'Hebdomadaire', 'Bi-Mensuel', 'Mensuel', 'Vacances');
$jours = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche', 'multi');
$where = array();
$freq_values = array();
$jour_values = array();
// quote une valeur pour la base de données
$as_string = function($p) { return "'$p'"; };
if ( ! empty($_GET['frequence'])) {
// on croise les tableaux pour ne pas injecter des valeurs non-autorisées et on quote les valeurs
$freq_values = array_map($as_string, array_intersect($frequences, $_GET['frequence']));
$where[] = 'frequence IN ('.implode(', ', $freq_values).')';
}
if ( ! empty($_GET['jour'])) {
// on croise les tableaux pour ne pas injecter des valeurs non-autorisées et on quote les valeurs
$jour_values = array_map($as_string, array_intersect($jours, $_GET['jour']));
$where[] = 'jour IN ('.implode(', ', $jour_values).')';
}
$sql = 'SELECT * FROM Activite ';
if ( ! empty($where)) {
$sql .= 'WHERE'. implode(' OR ', $where);
}
?> |
Partager