重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个需要使用ajax
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。创新互联坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站设计、成都做网站、微信公众号开发、电商网站开发,小程序开发,软件按需制作等一站式互联网企业服务。
为了表头添加点击事件。
然后通过ajax获取当前排序的方式。
然后将获取的数据处理、添加到表中
多重排序,order by 字段 方式,字段 方式...
order by age desc,id desc 先按年龄降序,相同的年龄里按id降序
order by id,age desc 先按id升序,相同的id里按年龄降序
至于你到底需要什么样的排序方式,按这个思路自己写就可以了
?php
$sort = $_GET['sort'];
$order = $_GET['order'];
$order=='' $order='asc';
$order_next=($order=='asc'?'desc':'asc');
switch($sort) {
case 'id':
echo 'SORT BY IDbr';
echo 'ORDER is '.$order;
break;
case 'name':
echo 'SORT BY NAMEbr';
echo 'ORDER is '.$order;
break;
case 'date':
echo 'SORT BY DATEbr';
echo 'ORDER is '.$order;
break;
default:
echo 'WHAT ARE U DOING ??';
}
?
p
a href="?sort=idorder=?php echo $order_next; ?"ID/abr/
a href="?sort=nameorder=?php echo $order_next; ?"NAME/abr/
a href="?sort=dateorder=?php echo $order_next; ?"DATE/abr/
/p
你只需要在每个 CASE 下构造你的sql查询语句就行了,这个实现方法比较简单,但是还有一些不完美的地方,比如 order=$order_next 这个做法并不好,我主要是给你提个我的思路,如果你需要一个更完美的功能,那你就再自己去优化完善一下吧。
你可以找到这个查询的sql在where条件后面加一个ORDER BY ID DESC
也可以使用PHP方法
$arrUsers = array(
array(
'id' = 1,
'name' = '张三',
'age' = 25,
),
array(
'id' = 2,
'name' = '李四',
'age' = 23,
),
array(
'id' = 3,
'name' = '王五',
'age' = 40,
),
array(
'id' = 4,
'name' = '赵六',
'age' = 31,
),
array(
'id' = 5,
'name' = '黄七',
'age' = 20,
),
);
$sort = array(
'direction' = 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
'field' = 'age', //排序字段
);
$arrSort = array();
foreach($arrUsers AS $uniqid = $row){
foreach($row AS $key=$value){
$arrSort[$key][$uniqid] = $value;
}
}
if($sort['direction']){
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers);
}
var_dump($arrUsers);
定义和用法
krsort() 函数对关联数组按照键名进行降序排序。
提示:请使用 ksort() 函数对关联数组按照键名进行升序排序。
提示:请使用 arsort() 函数对关联数组按照键值进行降序排序。
语法
krsort(array,sortingtype);
参数 描述
array 必需。规定要进行排序的数组。
sortingtype 可选。规定如何排列数组的元素/项目。可能的值:
0 = SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
1 = SORT_NUMERIC - 把每一项作为数字来处理。
2 = SORT_STRING - 把每一项作为字符串来处理。
3 = SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
4 = SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
定义和用法
ksort() 函数对关联数组按照键名进行升序排序。
提示:请使用 krsort() 函数对关联数组按照键名进行降序排序。
提示:请使用 asort() 函数对关联数组按照键值进行升序排序。
对关联数组按照键名进行升序排序:"35","Ben"="37","Joe"="43")
ksort($age);
?
升序:sort()函数
降序:rsort()函数
?php
$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "br /---排序后---br /";
foreach ($people as $mychrs)
echo $mychrs." ";
?
PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()函数,比如:
$num1=range(1,9);
rsort($num1);
这里其实就相当于range(9,1)