我一直在搞这个问题很长一段时间了,但我无法让它发挥作用。我想要做的是;
一个可点击的表格标题,一旦点击就会将行顺序从上升切换为下降,再次单击时将其切换回来。
到目前为止我做的尝试没有循环,一次点击就卡住了。
答案 0 :(得分:2)
只需添加一个包含参数的表头单元格的链接,例如
<tr><th>
<a href="currentpage.php?order=<?php echo isset($_GET['order'])?!$_GET['order']:1; ?>">
Name
</a>
</th></tr>
这里发生了什么?将添加一个链接,其中包含order
参数,该参数设置为与当前order
值(1 / true或0 / false)相反或默认为1。
在PHP脚本中,您现在可以决定如何使用order
值来订购表格:
$isAsc = isset($_GET['order'])? (bool) $_GET['order']: 1;
现在您可以使用$isAsc
布尔值:
if ($isAsc) {
// Sort data ascending
} else {
// Sort data descending
}
或在查询中:
$sql = "SELECT * FROM tabe ORDER BY name ".($isAsc?"ASC":"DESC").";";
当然,您可以扩展这个想法,例如,通过添加列名来按几列排序。