相同页面结果:(xmain.php)
// FORM(工作正常)
<form name="search" action="xmain.php" method="post">
code,code,code,
// QUERY(工作正常)
code,code,code,
<input type="submit" name="doSearch" value="doSearch">
//这是我的15行查询的最后两行 - 我已经跳过其余部分以节省空间:
$sql = "SELECT SQL_CALC_FOUND_ROWS * FROM $tableName $qryWhere LIMIT $start, $limit;";
$result = mysql_query($sql);
//这里的表查询结果.....
好的,虽然所有代码都正常工作(表单提交变量,数据库结果正确等等,但有两个唠叨问题:
1 - 首次加载页面时会回显所有数据库结果。页面从上到下都是令人耳目一新的,没有中途停留 - 我希望在第一页到达时不显示任何记录。 2.此外,由于此页面的从上到下的性质,我的选项选项将在表单提交时重置。我想保留选择,直到RESET按钮 - 单击我在页面上的目的。
我意识到这种形式总是让自己清醒,造成了上述问题。
任何建议都将不胜感激! - 见这里的工作样本:
答案 0 :(得分:0)
if(isset($_POST['doSearch']){..
或其他内容。<input .... value="'.(isset($_POST['thisinputname'])?htmlspecialchars($_POST['thisinputname']:'')">
在更复杂的表单上,会话可以很方便,而不需要更简单的表单/表单总是得到帖子。顺便说一句,我更喜欢使用GET来列出数据,这样可以更容易地共享/链接。用于更改的POST,用于检索的GET(以及用于真实REST的一些其他方法)。
答案 1 :(得分:0)
在Wrikken建议的if statement
内回显检索到的值。检查您的表单提交按钮是否实际被点击,然后才回显结果。
如果您不熟悉语法,请查看三元运算符。 http://www.php.net/manual/en/language.operators.comparison.php
如果从数据库获取数据,也可以使用GET。将数据放入数据库时进行POST。我想其原因超出了命名惯例,但它仍然是一个很好的提醒:GET for getting和POST for posting / puts。
更新
对不起,我没想到这一次。将sql查询放在if statement
中。还要在if statement
内回显结果。
if (isset[$_POST['doSearch']]){
//make the query
}
if ($sql){
//echo the results
}