Bonjour à tous,
Je débute avec les filtres et tris. Je pense que mon erreur doit être très grossière et je m'en excuse par avance. Ci-dessous mon problème:
Sur un listing de candidats issu de ma BDD je souhaite proposer un tri via un select sur plusieurs valeurs.
Pour ce faire j'utilise le code suivant et ça fonctionne très bien :
Mais je souhaite aussi proposer un filtre via un select sur plusieurs valeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php require "connect.php"; ?> <form method="post" action="listing.php" name="formulaireTri"> <select name="liste_choix"> <option value="">--- Trier ---</option> <option value="type">par Type</option> <option value="nom">par Nom</option> <option value="pole">par Pôle</option> </select> <input type="submit" value="OK" /> </form> <?php if (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="type")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY type'); } elseif (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="nom")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY nom'); } elseif (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="pole")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY pole'); } else { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY id'); } ?>
Pour avoir le tri ET le filtre sur ma page j'utilise le code qui suit. Mais maintenant le tri ne fonctionne plus, seul le filtre fonctionne.
Je sens bien que le code est bancal, 2 form, 2 submit... Mais je ne sais pas quoi modifier... Comment procéder pour avoir mes 2 select de tri et filtre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php require "connect.php"; ?> <form method="post" action="listing.php" name="formulaireTri"> <select name="liste_choix"> <option value="">--- Trier ---</option> <option value="type">par Type</option> <option value="nom">par Nom</option> <option value="pole">par Pôle</option> </select> <input type="submit" value="OK" /> </form> <?php if (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="type")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY type'); } elseif (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="nom")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY nom'); } elseif (isset($_POST['liste_choix']) AND ($_POST['liste_choix']=="pole")) { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY pole'); } else { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY id'); } ?> <form method="post" action="listing.php" name="formulaireFiltre"> <select name="liste_filtre"> <option value="">--- Filtrer par type ---</option> <option value="orga">ORGA</option> <option value="candi">CANDI</option> <option value="jury">JURY</option> </select> <input type="submit" value="OK" /> </form> <?php if (isset($_POST['liste_filtre']) AND ($_POST['liste_filtre']=="orga")) { $reponse = $bdd->query('SELECT * FROM olympiades WHERE type =\'ORGA\''); } elseif (isset($_POST['liste_filtre']) AND ($_POST['liste_filtre']=="candi")) { $reponse = $bdd->query('SELECT * FROM olympiades WHERE type =\'CANDI\''); } elseif (isset($_POST['liste_filtre']) AND ($_POST['liste_filtre']=="jury")) { $reponse = $bdd->query('SELECT * FROM olympiades WHERE type =\'JURY\''); } else { $reponse = $bdd->query('SELECT * FROM olympiades ORDER BY id'); } ?>
Merci par avance pour votre aide.
Partager