Мой код PHP для поиска и фильтрации не отображает таблицу запросов значения, которое я искал и фильтровал.Как решить эту проблему?
PHP
if(isset($_POST['search']))
{
$valueToSearch = $_POST['valueToSearch'];
// search in all table columns
// using concat mysql function
$query = "SELECT * FROM `details` WHERE CONCAT('id','date_of_entry','region','province_of_provider') LIKE '%".$valueToSearch."%'";
$search_result = filterTable($query);
}
else {
$query = "SELECT * FROM `details`";
$search_result = filterTable($query);
}
// function to connect and execute the query
function filterTable($query)
{
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
$connect = mysqli_connect($servername, $username, $password, $dbname);
$filter_Result = mysqli_query($connect, $query);
return $filter_Result;
}
while ($trainee = mysqli_fetch_array($search_result)){
echo "<tr>";
echo "<td>".$trainee['id']."</td>";
echo "<td>".$trainee['date_of_entry']."</td>";
echo "<td>".$trainee['region']."</td>";
echo "<td>".$trainee['province_of_provider']."</td>";
echo "</tr>";
}// End while
?>
Когда я выполняю поиск и фильтрацию из textbox
, строки таблицы не содержат никакого значения, включая его границы, но заголовки таблицыдля каждого столбца все еще присутствует.Кроме того, когда я оставляю поиск пустым и нажимаю кнопку фильтра, все строки таблицы содержат все значения всех данных, найденных в таблице базы данных.
1-е редактирование:
Iизменил мое:
$query = "SELECT * FROM `details` WHERE CONCAT('id','date_of_entry','region','province_of_provider') LIKE '%".$valueToSearch."%'";
На это:
$query = "SELECT * FROM `details` WHERE CONCAT_WS(' ','id','date_of_entry','region','province_of_provider') LIKE '%".$valueToSearch."%'";
Тем не менее, мой результат поиска - пустая таблица, но только с заголовками столбцов таблицы.