所以我的页面有两列。结果显示在右列。
结果包括所有元素。在右栏中,我有一个和几个复选框。我可以根据在 .
我必须单击提交才能获取右栏中的数据。我不想要 AJAX。我希望使用选定的选项刷新页面,并根据该选项显示结果。我能够编写 php 部分。获取在中选择的选项的值
所以我的代码是:
<select id="theselect" onclick = "afterChange()">
<option value="0"> Select the Department </option>
<option value="11"> Department11 </option>
<option value="22"> Department22 </option>
<option value="33"> Department33 </option>
</select>
var url = location.href;
document.getElementById("mydiv").innerHTML = url;
function afterChange(){
var dept = document.getElementById("theselect").value;
if (dept && dept!= 0) {
var myline = url + "&dept=" + dept;
document.getElementById("mynewdiv").innerHTML = myline;
window.location= myline;
}
}
<p id='mydiv'> </p> <br />
<p id='mynewdiv'> </p>
<?php
if(isset($_GET['dept'])) {
$cat = $_GET['dept'];
echo "You are now searching in $cat";
//code to show content from database for that department
?>
我知道有一种更好的方法可以做到这一点,而我不知道。到目前为止,代码第一次运行良好。我可以根据 SELECT 选项从数据库中获取结果。但是当我更改选择时,它会再次获取整个 URL 并将 SELECT 的新值添加到 URL,这会使 PHP 感到困惑。
因此,如果我的网站 URL 是: http://mysite.php?dept=22 在第二次更改 SELECT 后,它会更改为 http://mysite.php?dept=22&dept=33
在 SELECT 之后我也有几个复选框。
我希望根据选择和复选框对结果进行排序。
我知道必须有一个简单的方法来做到这一点,但我很难找到它。
请帮助我理解这个概念。非常感谢你。