filtres

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : filtres

Re: filtres

par two3d » 09 avr. 2023, 21:19

Salut, utilise la balise code s'il te plaît pour mettre en valeur ton code.

filtres

par cansert » 09 avr. 2023, 16:16

Bonjour,

Je suis étudiant en école d'ingé et je travaille actuellement sur un petit projet. Sur mon site, j'aimerais filtrer un tableau à l'aide d'une barre de recherche.
En clair, si dans mon tableau je veux filtrer une colonne (ici supplier), je dois appuyer sur le filtre supplier et entrer une valeur (ce que j'ai aussi réussi à faire jusqu'à présent) afin de n'afficher que la ligne correspondante.
Vous l'aurez compris, au niveau de l'interface j'arrive à entrer les affichages. Mais là où ça bloque c'est lorsque je dois faire la connexion entre les fonctions. Bref, compliqué.

Est-il possible de m'indiquer quelles sont mes grosses erreurs ? (En espérant que mon code ne vous fera pas mal aux yeux)
Il est + long mais je l'ai racourci pour le forum. Le debut du code est normalement ok. Merci :love5:

Code : Tout sélectionner

<html> <head> <title>Divalto App</title> <link rel="stylesheet" type="text/css" href="testcss.css"> </head> <body> <nav class="menu"> <form action="welcome.php" method="post"> <!--faire ref à la page suivante--> <input type="submit" value="All Products"><br> <!--bouton--> </form> </nav> <h1>All Products</h1> <nav class="menu"> <form action="welcome.php" method="post"> <select name="filterSelect" size="1"> <option value="">--- Choose the filter to use ---</option> <option value="prodRef">Product Reference</option> <option value="date">Date</option> <option value="prodCate">Product Category</option> <option value="supplier">Supplier</option> </select> <input type="submit" name="validate_filter" value="Validate filters"><br> <!--bouton--> </form> </nav> <?php //check the connection to the database $server = "127.0.0.1"; $username = "root"; $password = ""; $database = "projetbdd"; $link = mysqli_connect ($server, $username, $password, $database); if(!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging error:" . mysqli_get_host_info($link) . "<br>". PHP_EOL; echo "Debugging error:" . mysqli_get_host_info($link) . "<br>". PHP_EOL; exit; } //display all products $query = "SELECT * FROM `stock`"; echo "<table class='table-style'>"; echo "<tr><th>Reference</th><th>Designation</th><th>Category</th><th>Quantity</th><th>Supplier</th><th>Unity cost</th><th>Low level indicator</th></tr>"; if ($result = mysqli_query($link, $query)){ if (mysqli_num_rows($result) > 0){ $i = 0; while(($row = mysqli_fetch_assoc($result)) && $i<100){ echo "<tr>"; echo '<td><a href="history.php?id=' . $row["ref_product"] . '">' . $row["ref_product"] . '</a></td>'; echo "<td>" . $row["name_product"] . "</td>"; echo "<td>" . $row["product_category"] . "</td>"; echo "<td>" . $row["product_quantity"] . "</td>"; echo '<td><a href="supplier.php?supplier=' . urlencode($row["supplier_id"]) . '">' . $row["supplier_id"] . '</a></td>'; echo "<td>" . $row["unity_cost"] . "</td>"; echo "<td>" . $row["low_level_indicator"] . "</td>"; echo "</tr>"; $i = $i+1; } }else{ echo "0 results"; } mysqli_free_result($result); } else { $message = 'Invalid query:' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message); } //C'est ici que ca se complique if (isset($_POST['validate_filter'])){ $filter_chosen = $_POST['filterSelect1']; if($filter_chosen == 'supplier'){ echo '<nav class="menu"> <form action="welcome.php" method="post"> <input type="text" name="validate_filter" placeholder="Supplier"> <input type="submit" name="validate_filter2" value="Validate filters"><br> <!--bouton--> </form> </nav>'; } } // Define search term $searchTerm = "3"; //Que dois-je mettre dans ces filtres ? $filter = "3" . $searchTerm . "3"; // Query database to select rows matching filter $sql = "SELECT * FROM supplier_id WHERE $filter"; $result = mysqli_query($conn, $sql); // Check if rows were found if (mysqli_num_rows($result) > 0) { // Output data of each row while ($row = mysqli_fetch_assoc($result)) { echo "ID: " . $row["supplier_id"] . "<br>"; } } else { echo "0 results"; } ?> </body> </html>