2016-08-03 38 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']; } ?>"/> 
相关问题