我想用一个按钮将日期变量$date='date DESC'
更改为$date='ASC'
。
我用提交按钮解决了这个问题,但我不想让我的页面再次加载。
<form action='' method='post'>
<button name='submit' value='0'>down</button>
<button name='submit' value='1'>up</button>
</form>
php code
if($_POST['submit']==0) { $datum='date DESC'; }
else if($_POST['submit']==1) { $datum='date ASC';
}
答案 0 :(得分:2)
如果您只想加载页面的某个部分或不提交,则需要在此处使用AJAX。基本上如果你不想改变页面。
让我们给按钮提供一些ID。
<button id="b1" onclick="send_data(this.value)" value='0'>down</button>
<button id="b2" onclick="send_data(this.value)" value='1'>up</button>
现在我们将创建一个ajax对象
var ajaxObject;
if(window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
ajaxObject = new XMLHttpRequest();
}
else
{ // code for IE6, IE5
ajaxObject = new activeXObject("MICROSOFT.XMLHTTP");
}
现在创建将数据发送到服务器的功能。这将获取数据并将其作为GET条目发送到您的PHP页面。
function send_data(value)
{
ajaxObject.open("GET","phppage.php?submit=" . value . ,true);
ajaxObject.send();
}
你的PHP代码在后端应该可以正常工作。
这是使用ID用于两个单独的id(即两个单独的按钮)。但是同样的事情可以通过使用表单和一些轻微的修改来完成。
另一个简单的解决方案是在新页面(空白窗口,新窗口等)之后简单地提交并处理该过程。 :)
希望这会有所帮助..
答案 1 :(得分:1)
您的PHP代码在服务器端解释,但您的按钮单击是客户端操作。您需要将信息传输到服务器(您想要更改PHP变量值),这个“传输”称为 HTTP请求,这就是您所说的“再次加载页面”。您可以使用Ajax发出异步请求,但必须发生。
顺便说一句,如果你想订购另一个HTML元素(也许你的日期在<select>
元素中?),你应该使用Javascript而不是PHP对它进行排序。