我有一个运行MySQL查询掀起了点击按钮的页面。 查询结果显示约6左右的柱用约100行。
我希望用户能够诉诸基于单击列标题的查询结果。 几乎将它们发送到同一页面使用相同的查询,只需使出。
所以这是我到目前为止,都在同一个脚本。
HTML表(回荡在PHP)
echo "<th id='frame_data_table'><a onClick='innerChange()' href='#'>Command</a></th>";
JavaScript函数
function innerChange() {
document.getElementById("innerTest").value = "Changed it.";
location.reload(true);
}
HTML input标签和PHP表单处理
<?php echo "-->" . $_POST['commandSort'] . "<--"; ?>
<form method="post">
<input type="text" id="innerTest" name="commandSort" value="command" />
</form>
当我这样做,当页面重新加载什么也不显示了echo $_POST['commandSort']
既不显示原始值,也没有更改的值。
真的,我需要的是$_POST['commandSort']
抢改变输入框的值,然后我可以实现将任何值我要到我的查询订购它,但是我想要的。
提前致谢!
- 安东尼
================================================== ================
UPDATE:解决方案
这个问题的解决(归功于谁,我选择的答案中的一个用户)是通过使用document.getElementById['mainForm'].submit()
下面是我。
HTML表单
<html>
<!--...some html code here...-->
<form method="post" id="mainForm" action="example.com/results.php">
<!--...more code inside of the form here...-->
<input type="checkbox" name="command" value="command" id="command"/><p>Command</p>
<!--...more code inside of the form here...-->
<input type="hidden" name="hiddenSort" id="hiddenSort" />
<!--...more code inside of the form here...-->
</form>
<!--...some more html code here...-->
</html>
PHP example.com/results.php页面的JavaScript
<?php
/*...more php code here...*/
<if (isset($_POST['command'])) {
?><th id="frame_data_table"><a href="javascript:sortFunction('command');">Command</a></th><?php
}
/*...more php code that displays the query result (while(...)) here...*/
?>
JavaScript函数
<script>
function sortFunction(x) {
var sortVar = x;
document.getElementById("hiddenSort").value = x;
document.getElementById("mainForm").submit();
}
</script>
说明:在最初的查询结果是取出并显示,如果用户点击了“命令”栏链接,该上document.getElementById['mainform'].submit()
重新提交相同的形式如先前运行,而在同一时间传递变量通过JavaScript的函数x。 变量决定如何查询将使出,为所有真正需要做的是填充一个变量"ORDER BY " . $_POST['commandSort']
"ORDER BY " . $_POST['commandSort']
在PHP。 如果你遇到类似的问题,请随时给我发短信了进一步的解释。
感谢所有谁回答。
- 安东尼