在PHP搜索之前隐藏完整的表
我有一个PHP搜索表单,用于在SQL表中搜索。 总的来说,它工作得很好,但有一件事我喜欢改变 搜索前,整个表格在屏幕上可见。 我只想提及搜索后的记录 有人知道用PHP隐藏表吗? 非常感谢 HTML在PHP搜索之前隐藏完整的表,php,mysql,Php,Mysql,我有一个PHP搜索表单,用于在SQL表中搜索。 总的来说,它工作得很好,但有一件事我喜欢改变 搜索前,整个表格在屏幕上可见。 我只想提及搜索后的记录 有人知道用PHP隐藏表吗? 非常感谢 HTML <form action="" method="post"> <input type="text" name="search" placeholder="Search"> <input type="submit" value="Submit" /> </for
<form action="" method="post">
<input type="text" name="search" placeholder="Search">
<input type="submit" value="Submit" />
</form>
PHP
<?php
$host = "******";
$user = "******";
$password = "******";
$database_name = "vangsten";
$pdo = new PDO("mysql:host=$host;dbname=$database_name", $user, $password, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
$search=$_POST['search'];
$query = $pdo->prepare("select * FROM meldingen WHERE soort LIKE '%$search%' OR zone LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
if (!$query->rowCount() == 0) {
echo "<table style=\"margin:50px auto;\">";
echo "<tr><td>VISSOORT</td><td>LENGTE</td><td>AANTAL</td><td>ZONE</td></tr>";
while ($results = $query->fetch()) {
echo "<tr><td>";
echo $results['soort'];
echo "</td><td>";
echo $results['lengte'];
echo "</td><td>";
echo $results['aantal'];
echo "</td><td>";
echo $results['zone'];
echo "</td></tr>";
}
echo "</table>";
} else {
echo 'Nothing found';
}
?>
您可以检查用户是否单击了搜索按钮:
if (isset($_POST['search'])) {
// do your table generation here
}
您可以检查用户是否单击了搜索按钮:
if (isset($_POST['search'])) {
// do your table generation here
}
这是因为即使没有传递任何搜索,您最终也会运行查询:使用WHERE排序,如“%”
您应该首先检查搜索是否已通过
if(array_key_exists('search',$_POST) && !empty($_POST['search'])){
$search=$_POST['search'];
$query = $pdo->prepare("select * FROM meldingen WHERE soort LIKE '%$search%' OR zone LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
if (!$query->rowCount() == 0) {
echo "<table style=\"margin:50px auto;\">";
echo "<tr><td>VISSOORT</td><td>LENGTE</td><td>AANTAL</td><td>ZONE</td></tr>";
while ($results = $query->fetch()) {
echo "<tr><td>";
echo $results['soort'];
echo "</td><td>";
echo $results['lengte'];
echo "</td><td>";
echo $results['aantal'];
echo "</td><td>";
echo $results['zone'];
echo "</td></tr>";
}
echo "</table>";
} else {
echo 'Nothing found';
}
}
if(array_key_存在('search',$_POST)&&!empty($_POST['search'])){
$search=$_POST['search'];
$query=$pdo->prepare(“从meldingen中选择*,其中类似“%$search%”或类似“%$search%”的区域限制为0,10”);
$query->bindValue(1,“%$search%”,PDO::PARAM_STR);
$query->execute();
如果(!$query->rowCount()==0){
回声“;
回声“VISSOORTLENGTEAANTALZONE”;
而($results=$query->fetch()){
回声“;
echo$results['soort'];
回声“;
echo$results['lengte'];
回声“;
echo$结果['aantal'];
回声“;
echo$结果['zone'];
回声“;
}
回声“;
}否则{
回声“什么也没找到”;
}
}
array\u key\u存在('search',$\u POST)
检查是否存在一个带有
“搜索”键李>
!空($\u POST['search'])
检查它不仅仅是
空字符串。(您可能希望允许此操作)
您可以使用isset($\u POST['search'])
而不是array\u key\u exists('search',$\u POST)
但是数组\u key\u exists
是更好的做法,因为如果值为NULL
,则isset
仍然返回false,这是因为即使没有传递搜索,您也会运行查询:使用WHERE排序,如“%”
您应该首先检查搜索是否已通过
if(array_key_exists('search',$_POST) && !empty($_POST['search'])){
$search=$_POST['search'];
$query = $pdo->prepare("select * FROM meldingen WHERE soort LIKE '%$search%' OR zone LIKE '%$search%' LIMIT 0 , 10");
$query->bindValue(1, "%$search%", PDO::PARAM_STR);
$query->execute();
if (!$query->rowCount() == 0) {
echo "<table style=\"margin:50px auto;\">";
echo "<tr><td>VISSOORT</td><td>LENGTE</td><td>AANTAL</td><td>ZONE</td></tr>";
while ($results = $query->fetch()) {
echo "<tr><td>";
echo $results['soort'];
echo "</td><td>";
echo $results['lengte'];
echo "</td><td>";
echo $results['aantal'];
echo "</td><td>";
echo $results['zone'];
echo "</td></tr>";
}
echo "</table>";
} else {
echo 'Nothing found';
}
}
if(array_key_存在('search',$_POST)&&!empty($_POST['search'])){
$search=$_POST['search'];
$query=$pdo->prepare(“从meldingen中选择*,其中类似“%$search%”或类似“%$search%”的区域限制为0,10”);
$query->bindValue(1,“%$search%”,PDO::PARAM_STR);
$query->execute();
如果(!$query->rowCount()==0){
回声“;
回声“VISSOORTLENGTEAANTALZONE”;
而($results=$query->fetch()){
回声“;
echo$results['soort'];
回声“;
echo$results['lengte'];
回声“;
echo$结果['aantal'];
回声“;
echo$结果['zone'];
回声“;
}
回声“;
}否则{
回声“什么也没找到”;
}
}
array\u key\u存在('search',$\u POST)
检查是否存在一个带有
“搜索”键李>
!空($\u POST['search'])
检查它不仅仅是
空字符串。(您可能希望允许此操作)
您可以使用isset($\u POST['search'])
而不是array\u key\u exists('search',$\u POST)
但是数组_key_存在
是更好的做法,因为如果值为NULL
则isset
仍然返回false。表是在搜索时显示还是根本不搜索?表是在搜索时显示还是根本不搜索时显示?