Page 1 sur 1

question querry, valuetosearch et hide resultats

Posté : 13 nov. 2022, 17:53
par taco666
Bonjour,

j'ai un petit souci sur mon code, je suis clairement debutant et j'aurai besoin d'un petit coup de main pour completer ce que je fais , voici mon code

Code : Tout sélectionner

<?php if(isset($_POST['search'])) { $valueToSearch = $_POST['valueToSearch']; // search in all table columns // using concat mysql function $query = "SELECT * FROM `facts` WHERE CONCAT(`cip`, `email`, `montant`, `datevirement`, `virement`, `campagne`, `lien`) LIKE '%".$valueToSearch."%'";// changer facts par nom de la dbb et chaque cip email par nom table $search_result = filterTable($query); } else { $query = "SELECT * FROM `facts`";// changer facts par nom de la dbb $search_result = filterTable($query); } // function to connect and execute the query function filterTable($query) { $connect = mysqli_connect("localhost", "root", "root", "facture"); $filter_Result = mysqli_query($connect, $query); return $filter_Result; } ?>
Le probleme c'est qu'actuellement, quand j'accede sur la page avant meme de lancer la recherche, cela me display l'integralité de ma Base, chose qui va poser pb avec dans le temps, les fonctions en soit de recherche etc pas de probleme, c'est juste lors de ma connection sur la page, ca display l'integralité de la bdd, je pense qu'il doit y avoir une requete qui se fait a chaque fois que je vais sur la page, mais je n'arrive pas a trouver la zone exacte pour cela,

si quelqun peut me donner un petit coup de main ou m'indiquer la zone / bout de code a modifier

Merci beaucoup en tout cas

edit : ci joint lien> imgur(dot)com/T07Q6zx.png

Re: question querry, valuetosearch et hide resultats

Posté : 13 nov. 2022, 19:32
par or 1
if(isset($_POST['search']))
qu'est-ce qui est testé ?
qu'est-ce qui est exécuté si la condition est remplie ?
qu'est-ce qui est exécuté si la condition n'est pas remplie ?

Re: question querry, valuetosearch et hide resultats

Posté : 13 nov. 2022, 20:52
par taco666
Merci mammouth pour ta reponse, voici le script entier je ne connais pas trop la variable en elle meme, j'ai surtout adapter la deuxieme partie du code,

Comme le montre ma capture d'ecran, c est une search box qui cherche sur une table mysql, sauf quil affiche l'ensemble de la table lors de louverture de la page, et une fois que j'ai fais la recherche il affiche bien le resultat par exemple 2 lignes sur 4600,

j'aimerais juste pouvoir toggle off ou bien meme ne pas afficher a l'ouverture de la page 6.php l'ensemble de la table, je sais que la personne qui a fait le script avait indiquer quil etait fait "comme ca" mais dans mon cas cela me pose probleme, je ne pense pas quil s'agisse d'une grosse modif c est juste savoir ou chercher

Merci pour ta reponse

Code : Tout sélectionner

<?php session_start(); if (isset($_SESSION['id']) && isset($_SESSION['user_name'])) { ?> <!DOCTYPE html> <head> <title>HOME</title> <link rel="stylesheet" type="text/css" href="xx.css"> </head> <?php }else{ header("Location: index.php"); exit(); } ?> <?php if(isset($_POST['search'])) { $valueToSearch = $_POST['valueToSearch']; // search in all table columns // using concat mysql function $query = "SELECT * FROM `facts` WHERE CONCAT(`cip`, `email`, `montant`, `datevirement`, `virement`, `campagne`, `lien`) LIKE '%".$valueToSearch."%'";// changer facts par nom de la dbb et chaque cip email par nom table $search_result = filterTable($query); } else { $query = "SELECT * FROM `facts`";// changer facts par nom de la dbb $search_result = filterTable($query); } // function to connect and execute the query function filterTable($query) { $connect = mysqli_connect("localhost", "root", "root", "facture"); $filter_Result = mysqli_query($connect, $query); return $filter_Result; } ?> <!DOCTYPE html> <html> <head> <title>BRI DATA SEARCH FACTURE</title> <style> table,tr,th,td { border: 1px solid black; } </style> </head> <body> <form action="6.php" method="post"> <input type="text" name="valueToSearch" placeholder="Search "><br> <input type="submit" name="search" value="Search"><br><br> <table> <tr> <th>cip</th> <th>email</th> <th>montant</th> <th>datevirement</th> <th>virement</th> <th>Vague</th> <th>lien</th> </tr> <!-- populate table from mysql database --> <?php while($row = mysqli_fetch_array($search_result)):?> <tr> <td><?php echo $row['cip'];?></td> <td><?php echo $row['email'];?></td> <td><?php echo $row['montant'];?></td> <td><?php echo $row['datevirement'];?></td> <td><?php echo $row['virement'];?></td> <td><?php echo $row['campagne'];?></td> <td><?php echo $row['lien'];?></td> </tr> <?php endwhile;?> </table> </form>

Re: question querry, valuetosearch et hide resultats

Posté : 13 nov. 2022, 21:05
par taco666
merci mammouth, apres avoir reflechis j'ai compris et j'ai identifié le probleme qui etait

Code : Tout sélectionner

else { $query = "SELECT * FROM `facts`";// changer facts par nom de la dbb $search_result = filterTable($query); }
vue qu'en effet si je lancer pas une recherche et bien > else et il afficher toute la BDD

Merci beaucoup :)