2016-08-03 75 views
0

我有一個理想的搜索框,從一個給定的列表中搜索項目。我的搜索工作正常,問題是當我在搜索框中輸入搜索內容時,它給了我結果,但我的搜索框變空了。 例如,如果我在搜索框中搜索「電子」,它給了我電子結果,但我的搜索框變空了。當它給我的結果時,它應該寫成「電子」。 也許,我應該使用GET方法,而不是這樣嗎?當我搜索框中搜索的東西時,我輸入的關鍵字消失後給出結果

這裏是我的搜索代碼:

<form action="" method="post"> 

       Search: <input type="text" name="term" /><br /> 
       <input type="submit" value="Submit" /> 
      </form> 

if (!empty($_REQUEST['term'])) 
{ 

    $term = mysql_real_escape_string($_REQUEST['term']); 

    $sql = "SELECT * FROM category WHERE cat_name LIKE '%" . $term . "%' or parent LIKE '%" . $term . "' or cat_status LIKE '%" . $term . "'"; 
} 
$r_query = mysql_query($sql); 
if ($r_query > 1) 
{ 

$dynamicList=""; 
    while ($row = mysql_fetch_array($r_query)) 
    { 
     // $cat_id=; 
     /*$dynamicList .= ' 
      <img style="border:#666 1px solid;" src="../storeadmin/category/thumbs/' . $row['cat_id'] . '.jpg" width="77" />';*/ 
     echo "<tr bgcolor=''>"; 
     echo "<td>" . $row['cat_id'] . "</td>"; 
     echo "<td><img style='border:#666 1px solid;' width='70' src='http://localhost/jaymin/My%20Store/storeadmin/category/thumbs/". $row['cat_id'].".jpg' /></td>"; 

     //echo "<td>".$dynamicList."</td>"; 
     echo "<td>" . $row['cat_name'] . "</td>"; 
     echo "<td>" . $row['parent'] . "</td>"; 
     echo "<td>" . $row['cat_status'] . "</td>"; 

     echo "<td><a href='categoryylisting_edit.php?id=" . $row['cat_id'] . "'>Edit</a></td>"; 
     echo "<td><a name='delete' href='categoryylisting_edit.php?id=" . $row['cat_id'] . "'>Delete</a></td><tr>"; 



     echo "</tr>"; 
    } 
} 
else { 
    echo "Nothing should be displayed"; 
} 
?> 
     </table> 
+0

原因是一旦表單被提交,頁面被刷新。因此無論您之前輸入的內容是否被刪除。如果你想保留它,你可以使用PHP重新生成輸入框的值。像這樣 '」/>' –

回答

0

改變你的代碼

Search: <input type="text" name="term" value="<?php echo @$_REQUEST['term']; ?>" /><br /> 

,而不是

Search: <input type="text" name="term" /><br /> 
+1

如果你知道它應該是POST \ GET – 2016-08-03 05:19:53

+0

完美!謝謝 ! –

0

試試這個,

<input type="text" name="term" value="<?php if(isset($_POST['term'])){ echo $_POST['term']; } ?>"/> 

如果你想要這個你url使用GET,而不是像POST

 <form action="" method="get"> 
      Search: <input type="text" name="term" value="<?php if(isset($_GET['term'])){ echo $_GET['term']; } ?>" /><br /> 
      <input type="submit" value="Submit" /> 
     </form> 
0

這是因爲你在提交表格和表格後提交文本框的值消失。爲了克服這個嘗試:

<input type="text" name="term" value="<?php if(isset($_POST['term'])){ echo $_POST['term']; } ?>"/> 
相關問題