我一直在模拟一个mysql和php搜索页面,它按预期运行。但是,当表单被 POST 并且没有返回任何结果时,<option>
标签被重置,我想知道我是否可以防止这种情况发生?
META:我知道mysql_*
的弃用和mySQL注入的可能性,这只是一个快速的模型。
<?php
mysql_connect("localhost","root","") or die('Could not connect');
mysql_select_db("webhost") or die ('Could not find DB');
$output = '';
// Queries
if (isset($_POST['submit'])) {
$dsquery = $_POST['Diskspace'];
$prquery = $_POST['Price'];
$query = mysql_query("
SELECT * FROM data WHERE Diskspace BETWEEN $dsquery
AND Price BETWEEN $prquery
") ;
$count = mysql_num_rows($query);
if ($count == 0){
$output = "No such results, sorry.";
}else{
while($row = mysql_fetch_array($query)){
$diskspace = $row['Diskspace'];
$price = $row['Price'];
$host = $row['Provider'];
$output .= '<div>'.$host.' '.$diskspace.' '.$price.'</div>';
}
}
print ("$output");
}
?>
您可以使用 AJAJ/AJAX。这是保留表单数据的一种方法。
有许多jQuery功能,如.post和.ajax来做到这一点。
您还可以创建对象并存储帖子数据。
您也可以使用会话。