2015-04-06 103 views
0

我試圖獲得搜索功能工作。當用戶在一個框中點擊並搜索某些內容時,頁面應該能夠顯示包含該單詞的結果,否則會有一個簡單的消息,指出找不到任何結果。目前沒有任何顯示(也沒有錯誤),我不知道爲什麼。搜索結果不是從使用搜索按鈕的sql查詢返回

這是我到目前爲止。任何幫助,將不勝感激。

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

用Ctrl + K – 2015-04-06 12:21:26

+2

當你在方法=「郵報」請格式化代碼你的表單在PHP中,你必須檢查$ _POST而不是$ _get .. ps如果你直接使用客戶發送的數據而不過濾它,你查詢的是100%不安全的.. – Svetoslav 2015-04-06 12:26:40

+0

非常感謝您的迅速回復!並感謝Svetlio的快速現貨:) – Yelims01 2015-04-06 12:31:05

回答

1

你正在做post並在search_results.php文件是錯誤的方法使用$_get

當你正在使用您的行動post方法,你應該得到相應的值

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