Bonjour à tous,
J'ai un tableau dans lequel je veux entrer des données que je vais chercher dans la bd selon divers filtres.
J'essaye de rentrer mes données par l'include qui est dans le tbody (pas la bonne façon ?)
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 <form method="post" action =""> <table class="display" id="filtreRecherche"> <tbody> <th> <label for="filtreOperateur"><strong>Filtre opérateur : </strong></label> <select id="filtreOperateur" size="1"> <option value="">Choisir un opérateur</option> <?php $reqListeOperateur = $bdd->prepare('SELECT loginUtilisateur FROM UTILISATEUR WHERE idGroupe = 1 or idGroupe = 4'); $reqListeOperateur->execute(); while($resultat = $reqListeOperateur->fetch()) { print "<option value='".$resultat['loginUtilisateur']."'>".$resultat['loginUtilisateur']."</option>"; } ?> </select> </th> <th> <label for="filtreDate1"><strong>Filtre date 1 : </strong></label> <input type="text" class="form-field datepicker" id="filtreDate1"> </th> <th> <label for="filtreDate2"><strong>Filtre date 2 : </strong></label> <input type="text" class="form-field datepicker" id="filtreDate2"> </th> <th> <label for="filtreConteneur"><strong>Filtre conteneur : </strong></label> <select id="filtreConteneur" size="1"> <option value="">Choisir un conteneur</option> <?php $reqListeTypeConteneur = $bdd->prepare('SELECT libelleTypeConteneur FROM TYPECONTENEUR'); $reqListeTypeConteneur->execute(); while($resultat = $reqListeTypeConteneur->fetch()) { print "<option value='".$resultat['libelleTypeConteneur']."'>".$resultat['libelleTypeConteneur']."</option>"; } ?> </select> </th> <th> <input type="submit" name="btnRecherche" id="btnRecherche" value="Rechercher"> </th> </tbody> </table> </form> </div> <div class="box-content" style="display: block;"> <table class="display" id="tabledata"> <thead class="table-header"> <tr> <th>Conteneur</th> <th>Conteneur pyro</th> <th>Unite 1</th> <th>Unite 2</th> <th>Détonateur 1</th> <th>Détonateur 2</th> <th>Cordeau</th> <th>Flacon</th> <th>Colorant</th> <th>Shunts enlevées</th> <th>Commentaires</th> <th>Modification</th> </tr> </thead> <tbody> <?php include './includes/functions/function.tabRechercheEtModif.php'; ?> </tbody> </table>
Voici une partie de ce fichier :
Je veux entrer mes données seulement lorsque l'utilisateur clique sur le bouton et je vérifie ça avec isset($_POST['btnRecherche']) (c'est la bonne façon ?)
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 if(isset($_POST['btnRecherche'])) { $sth = $bdd->prepare('SELECT idUtilisateur FROM UTILISATEUR WHERE loginUtilisateur = ?'); $sth->execute(array($_POST['filtreOperateur']); $row = $sth->fetch(PDO::FETCH_ASSOC); $idUtilisateur = $row['idUtilisateur']; $sth = $bdd->prepare('SELECT idTypeConteneur FROM TYPECONTENEUR WHERE libelleTypeConteneur = ?'); $sth->execute(array($_POST['filtreConteneur']); $row = $sth->fetch(PDO::FETCH_ASSOC); $idTypeConteneur = $row['idTypeConteneur']; /** * Si les trois filtres sont saisies */ if(($_POST['filtreOperateur'] != "") AND ($_POST['filtreDate1'] != "") AND ($_POST['filtreDate2'] != "") AND ($_POST['filtreConteneur'] != "")) { //execution de la requête pou récup idMontage $select3Filtres->execute(array( 'date1' => $_POST['filtreDate1'], 'date2' => $_POST['filtreDate2'], 'idUtilisateur' => $idUtilisateur, 'idTypeConteneur' => $idTypeConteneur ) ); //temps qu'il y a des montage while($resultat = $select3Filtres->fetch()) { $idMontage = $resultat['idMontage']; idMontage($idMontage); //execution de la requête pour récupérer les composants correspondants au montage $selectComposant->execute(array($idMontage)); //création des cellules echo '<tr class="odd">'; echo '<td>'.$codeConteneur.'</td>'; echo '<td>'.$codeConteneurPyro.'</td>'; //temps qu'il y a des composant while($composant = $selectComposant->fetch()) { echo '<td>'.$composant['codeComposant'].'</td>'; } echo '<td>'.$nbShunt.'</td>'; }
J'ai corrigé toutes les erreurs, mes requêtes sont bonnes etc.
Résultat : je saisies mes filtres, je clique sur le bouton mais rien ne se passe.
Du coup je voudrais savoir si cette façon de faire peut fonctionner et si oui, ce que j'ai mal fait.
Merci à ceux qui prendront le temps de lire et de répondre.
Si vous avez besoin de plus de précisions, dites le moi !
Partager