Мой код php поиска и фильтра не отображает таблицу запросов значения, которое я искал и фильтровал

Мой php-код для поиска и фильтрации не отображает таблицу запросов значения, которое я искал и фильтровал. Могу я спросить, какая часть моего php-кода неверна и как это исправить, пожалуйста. Я не включил HTML-код, чтобы сократить свой пост. Вот код 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

?>

Что-то не так с моим кодом concat? Как насчет моего похожего кода, это правильно?

Когда я выполняю поиск и фильтрацию из текстового поля, строки таблицы не содержат никакого значения, включая его границы, но заголовки таблицы для каждого столбца все еще присутствуют. Кроме того, когда я оставляю поиск пустым и нажимаю кнопку фильтра, все строки таблицы содержат все значения всех данных, найденных в таблице базы данных.

Пожалуйста, помогите мне, как правильно отобразить мой поиск и фильтр.

1-е редактирование:

Я изменил свой:

$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."%'";

Тем не менее, мой результат поиска — пустая таблица, но только с заголовками столбцов таблицы.

0

Решение

Заменить эту часть:

$query = "SELECT * FROM `details` WHERE CONCAT('id','date_of_entry','region','province_of_provider') LIKE '%".$valueToSearch."%'";

с этим:

$query = "SELECT * FROM `details` WHERE CONCAT(`id`, `date_of_entry`, `region`, `province_of_provider`) LIKE '%".$valueToSearch."%'";
-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]