- COMMENT filtrer les données provenant d'une base de données
- Effacer les données de navigation - Guide
- Comment sauvegarder toutes les données de mon téléphone - Guide
- Reinstaller windows sans perte de données - Guide
- La zone de données passée à un appel système est insuffisante - Windows 11
- Tnt base de données vide - Forum TNT / Satellite / Réception
16 réponses
19 oct. 2022 à 12:50
bonjour,
quand tu postes du code, merci de le faire comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
As-tu une question à propos de ce code?
<body> <div class="container" > <div class="box-1"> <div class="profil"> <img src="logo.png" alt=""> <h3>Centre medical de suivi des donneurs de sang</h3> </div> <div class="input"> <form action="" method="POST"> <SELECT name="AGE" id="" class="option"> <option value="">--AGE--</option> <option value="1">TOUS</option> <option value="2">ADULTE</option> <option value="">ENFANT</option> </SELECT> </div> <div class="input" > <Select name="Sexe" id="" class="option" > <option value="" ="">----SEXE--</option> <option value="1">H</option> <option value="2">F</option> <option value="3">Autres</option> </Select> </div> <div class="input"> <input type="date" name="Date_Visite" class="option"> </div> <div class="input"> <Select name="Resultat" id="" class="option"> <option value="" ="">----RESULTAT DEPISTAGE--</option> <option value="1">TOUS</option> <option value="2">NEGATIF</option> <option value="2">POSITIF</option> </Select> </form> <input type="submit" name="submit" id="" value="Afficher"> </div> </div> <div class="box-2"> <div class="haut"> <p class="titre">Patients Dépistés</p> </div> <div class="sousbox2"> <table class="table"> <h1 align="center">TABLEAU</h1> <thead> <tr> <th>Code</th> <th>DateVisite</th> <th>Sexe</th> <th>AGE</th> <th>Resultat</th> </tr> </thead> <tbody> <?php if (isset($_POST['submit'])) { $AGE = $_POST['AGE']; $Sexe = $_POST['Sexe']; $DateVisite = $_POST['DateVisite']; $Resultat = $_POST['Resultat']; if($AGE != "" || $Sexe != "" || $DateVisite != "" || $Resultat != "" ){ $query = "SELECT * FROM tblecdv where AGE = '$AGE' OR Sexe = '$Sexe' OR DateVisite='$DateVisite' AND RESULTAT = '$RESULTAT' "; $result=mysqli_query($connection, $query) or die('error'); while ($row = $result->fetch_assoc()) { echo " <tr> <td>" . $row["Code"] ."</td> <td>" . $row["DateVisite"] ."</td> <td>" . $row["Sexe"] ."</td> <td>" . $row["AGE"] ."</td> <td>" . $row["RESULTAT"] ."</td> </tr>"; } } ?> </tbody> </div> <div class=""> </div> </div> </body>
SVP J'ai vraiment besoin de votre aide pour franchi cette étape . AIDEZ MOI SVP.
Merci
19 oct. 2022 à 13:40
As-tu une question à propos de ce code?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionOui mon problème est que quand j'exécute cette portion de code rien ne s'affiche à l'affichage les données issu de la base de données ne s'affiche pas alors que toutes les connexions sont belles et bien établies
19 oct. 2022 à 14:07
Bonjour,
Fais donc un echo de ta variable $query ... puis testes le résultat directement dans ta bdd (via phpmyadmin)
Tu devrais voir que ta requête est mal formulée ....
echo $query = "SELECT * FROM tblecdv where AGE = '$AGE' OR Sexe = '$Sexe' OR DateVisite='$DateVisite' AND RESULTAT = '$RESULTAT' "; exit();
Il m'affiche toujours rien.
Cordialemnt.
19 oct. 2022 à 14:45
$query = "SELECT * FROM tblecdv where AGE = '$AGE' OR Sexe = '$Sexe' OR DateVisite='$DateVisite' AND RESULTAT = '$RESULTAT' "; echo $query;
puis teste le résultat directement dans ta bdd (via phpmyadmin)
Bonjour,
Merci beaucoup yg_be votre Aide. Le problème d'affichage est résolu mes données s'affiche correctement . maintenant en ce qui concerne le filtrage le filtrage des données à travers les listes déroulante html franchement dit j'ai besoin de votre aide.
<?php // on va créer une connexion a la base de données $server="127.0.0.1"; $user="root"; $pass =""; $dbname="base_kokhoua"; // Create connection $connection = mysqli_connect($server, $user, $pass, $dbname); // if (!$connection){ die("conenction failed: " . mysqli_connect_error()); } else{ echo "connection Etsablished"; } $query = "SELECT * FROM tblecdv" ; $result=mysqli_query($connection, $query) or die('error'); //if (!result) { //die("Invalid query: " . $connection->error); //} ?> <!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> .container{ width: 100%; height:100%; color: ; margin: auto ; display:flex; border : 2px solid black; } .box-1{ width: 100%; height:100%; margin: 3px; border: 1px solid black; } .box-2{ width:800px; height:800px; margin: 3px; border:1px solid black; } .container .box-1 .profil{ display: block; width: 300px; height: 200px; border:1px solid black; background-color: #37C9C9; } .input{ display: block; width: 300px; height: 84px; border:1px solid black; } .option{ display:block; width:250px; height: 20px; margin: 25px ; border:1px solid black; text-align: center; } .haut{ display: block; width: 800px; height: 100px; background-color: #37C9C9; border:1px solid black; margin: auto; } .haut .titre{ margin: 30px; text-align:center; font-weight: bold; color: #000000; font-size: 40px; } .Tableau{ text-align:center; width: 900px; height:500px; border:3px solid black; margin: auto; } table{ border-collapse: collapse; margin:auto; width: 500px; height: 200px; } th, td{ border: 1px solid black; padding: 10px; border-spacing: 5px; font-weight: bold; width: 500px; } .sousbox2{ width: 800px; height:500px; display: block; overflow: auto; } </style> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script> </head> <body> <div class="container" > <div class="box-1"> <div class="profil"> <img src="logo.png" alt=""> <h3>Centre medical de suivi des donneurs de sang</h3> </div> <div class="input"> <form action="" method="POST"> <SELECT name="AGE" id="" class="option"> <option value="">--AGE--</option> <option value="1">TOUS</option> <option value="2">ADULTE</option> <option value="">ENFANT</option> </SELECT> </div> <div class="input" > <Select name="Sexe" id="" class="option" > <option value="" ="">----SEXE--</option> <option value="1">H</option> <option value="2">F</option> <option value="3">Autres</option> </Select> </div> <div class="input"> <input type="date" name="Date_Visite" class="option"> </div> <div class="input"> <Select name="Resultat" id="" class="option"> <option value="" ="">----RESULTAT DEPISTAGE--</option> <option value="1">TOUS</option> <option value="2">NEGATIF</option> <option value="2">POSITIF</option> </Select> </form> <input type="submit" name="submit" id="" value="Afficher"> </div> </div> <div class="box-2"> <div class="haut"> <p class="titre">Patients Dépistés</p> </div> <div class="sousbox2"> <table class="table"> <h1 align="center">TABLEAU</h1> <thead> <tr> <th>Code</th> <th>DateVisite</th> <th>Sexe</th> <th>AGE</th> <th>Resultat</th> </tr> </thead> <tbody> <?php while ($row = $result->fetch_assoc()) { echo " <tr> <td>" . $row["Code"] . "</td> <td>" . $row["DateVisite"] . "</td> <td>" . $row["Sexe"] . " </td> <td>" . $row["AGE"] . "</td> <td>" . $row["Resultat"] . "</td> </tr>"; } ?> </tbody> </div> <div class=""> </div> </div> </body> </html>
Voici Tout mon code .les données s'affiche correctement mais je ne sais pas comment faire pour filtrer les données en fonction des options des listes déroulantes.
Cordialement.
20 oct. 2022 à 13:33
J'ai l'impression que tu as supprimé le code qui filtrait les données.
Oui parce que quand je mets le code de filtrage les données n'apparaissent plus et quand le modifie pour juste l'affichage il m'affiche mes données doc je me suis dire que peut être la méthode de filtrage n'est pas correcte donc du coup j'ai dû le supprimé.
Salut, quelques remarques pour vous aider:
Si vous parlez de tri sur la base de données il s'agit de SQL(langage des bases de données et de programmation).
Pour vérifier vos requêtes(SQL) vous pouvez les tester directement sur le serveur de bases de données en utilisant la console. Avec PHPMyadmin/WAMP la console SQL est accessible directement dans les menus.
PHP est un langage serveur qui fait le lien entre une page HTML et la base de données dans les deux sens:
Du serveur PHP pour afficher des données issues de la base et "écrire" la page HTML, en tout cas les parties dynamiques. PHP va permettre de traiter les données(issue de la requête sur la BDD) et de les afficher
De la page HTML vers la base de données, PHP permet de construire la requête pour par exemple une insertion en récupérant des données envoyées par la page HTML. Cela se fait généralement en utilisant un formulaire HTML correctement renseigné.
Dans le cas qui vous intéresse il vous faut construire le formulaire avec les données utiles(une liste déroulante par ex.) puis faire la requête SQL à partir des données reçues par PHP. Puis traiter à nouveau les résultats de la requête pour les afficher dans le HTML.
Voilà on peut déjà remarque que vous avez un soucis dans le formulaire HTML puisque vous ne remplissez pas l'attribut action qui doit indiquer une page PHP qui va rreçevoir et traiter les données envoyées du formulaire HTML:
<form action="" method="POST">
Une recherche "formulaire PHP" vous fournira une liste de tutos et d'exemple complet. Pour le reste le langage SQL est relativement simple et adapté à toutes ortes de tris et regroupements mais cela ne veut pas dire qu'il ne faut pas apprendre(et vérifier vos requêtes éventuellement).
bon travail.
20 oct. 2022 à 15:15
Repars de la situation que tu présentais au départ de la discussion, et appliques la suggestion en #9.
Ok merci pour votre remarque .
Les listes déroulantes ont été déjà fait, et les options des différentes listes déroulantes ont déjà été rempli avec html .Mais ce que je veux fait c'est juste les filtré avec ces options-là.
Aussi l'attribut action vient d'être rempli mais toujours rien.
Ou bien vous demandez à ce que je récupère les données directement de la base de données à travers PHP pour rempli les options?
Cordialement.
yg_be ok je suis revenu au point de départ mais ça ne m'affiche toujours rien.
20 oct. 2022 à 17:15
As-tu appliqué la suggestion en #9?
Bonjour,
excusez-moi si je vous répond maintenant c'est que à la maison je n'ai pas de connexion.
après avoir appliqué vos remarques et suggestion mes données n s'affiche toujours pas.
j'ai l'impression que le problème est du à l'affichage au niveau de php ou HTML parce qu'il ne m'affiche aucun message d'erreur le seul message qu'il m'affiche est le message qui montre que la connexion a été établie au niveau de la connexion à la base de donnée
21 oct. 2022 à 12:31
La suggestion en #9, c'est d'afficher le texte de la requête, et de la tester directement dans ta bdd (via phpmyadmin).
As-tu fait cela?
OUI QUAND j'exécute la requête dans PHPMYADMIN elle m'affiche aucune valeur mais les en tête de colonnes
21 oct. 2022 à 13:20
Merci de partager du texte, plutôt que des images.
Ne vois-tu pas que ta requête SQL est incorrecte?
Oui exactement elles est incorrect
21 oct. 2022 à 13:41
Prépare alors à la main une requête SQL correcte, et essaie ensuite de l'obtenir en PHP.