如何显示搜索和过滤值的查询 table?
How to display the query table of a searched and filtered value?
我的搜索和过滤 PHP 代码不显示我搜索和过滤的值的查询 table。我该如何解决这个问题?
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
中搜索和过滤时,table 行不包含任何值(包括其边框),但是 table headers 的每一列都是仍然存在。此外,当我将搜索留空并单击过滤器按钮时,所有 table 行都包含在数据库的 table.
中找到的所有数据的所有值。
第一次编辑:
我改变了我的:
$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."%'";
还是一样,我的搜索结果是空的 table,但只有 table 列 headers。
替换这部分:
$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."%'";
我的搜索和过滤 PHP 代码不显示我搜索和过滤的值的查询 table。我该如何解决这个问题?
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
中搜索和过滤时,table 行不包含任何值(包括其边框),但是 table headers 的每一列都是仍然存在。此外,当我将搜索留空并单击过滤器按钮时,所有 table 行都包含在数据库的 table.
第一次编辑:
我改变了我的:
$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."%'";
还是一样,我的搜索结果是空的 table,但只有 table 列 headers。
替换这部分:
$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."%'";