搜索结果未使用搜索按钮从sql查询返回

时间:2015-04-06 12:19:41

标签: php html sql mysqli

我试图让搜索功能正常运行。当用户在框中单击并搜索某些内容时,页面应该能够显示包含单词的结果,否则会出现一条简单的消息,表明找不到任何结果。目前没有任何东西显示(也没有错误),我不知道为什么。

这是我到目前为止所拥有的。任何帮助将不胜感激。

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>

1 个答案:

答案 0 :(得分:1)

您正在post并使用$_get文件中的search_results.php这是错误的方法。

当您在操作中使用post方法时,您应该相应地获取值

即,

if (isset($_POST['find'])){
    $searchq = $_POST['find'];
#Your If Condition
}
else
{
#Your Else Part
}