我试图让搜索功能正常运行。当用户在框中单击并搜索某些内容时,页面应该能够显示包含单词的结果,否则会出现一条简单的消息,表明找不到任何结果。目前没有任何东西显示(也没有错误),我不知道为什么。
这是我到目前为止所拥有的。任何帮助将不胜感激。
1)在我的index.php页面上有搜索框和搜索按钮。
<li>
<div id = "search">
<form id = "search-form" action="search_results.php" method="post">
<input type="text" name= "find" placeholder= "Search..." />
<input type="button" name = "search" value="search" />
</form>
</div>
</li>
2)当用户输入他们想要的内容时,他们会被带到search_results.php进行搜索。如果搜索成功,则应返回产品名称列表。
<div class = "main-content">
<h1> Search Results </h1>
<?php
include 'dbconnect.php';
$output ='';
if (isset($_get['find'])){
$searchq = $_get['find'];
$query = mysqli_query($con, "SELECT * FROM products WHERE prodname LIKE '%". $searchq . "%'");
$count = mysqli_num_rows($query);
if($count == 0){
echo "There was no search results !";
}
else{
while($row = mysqli_fetch_array($query)){
$prodname = $row['prodname'];
$output ='<div> '.$prodname.'</div>';
echo $output;
}
}
} // end of outer if
mysqli_close($con);
?>
</div>
答案 0 :(得分:1)
您正在post
并使用$_get
文件中的search_results.php
这是错误的方法。
当您在操作中使用post
方法时,您应该相应地获取值
即,
if (isset($_POST['find'])){
$searchq = $_POST['find'];
#Your If Condition
}
else
{
#Your Else Part
}