欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP排序疑问

程序员文章站 2022-06-05 18:05:26
...
本帖最后由 u010801782 于 2013-07-30 23:32:15 编辑
demo
$value) {array_multisort($sTime, SORT_ASC, $value);?> $v) { $sTime[$key] = $v['sTime']; ?>
=$key?>
=date('H:i',$v['sTime'])?> =$v['title']?> $v['sTime'] && time() 开放中'; } if(time() 暂未开放';} if(time() > $v['eTime']){echo '已过期';} ?>
已过期




最终效果如图,请问前端显示的时候如何按时间大小降序并且已经过期的行移动到已过期下面去。

回复讨论(解决方案)

先按是否过期进行排序,再按时间进行排序,order by 过期,time

如果仅仅是顺序排列,已过期的在下边未过期的在上边 各自按时间倒序排列

$sql = 'select * from news order by guoqi desc,time desc

如果需要将之分门别类 可以进行两次循环,未过期的列表位置循环一次,已过期的列表位置循环一次,直接在循环输出内容时判断过期与否的字段

如果仅仅是顺序排列,已过期的在下边未过期的在上边 各自按时间倒序排列

$sql = 'select * from news order by guoqi desc,time desc

如果需要将之分门别类 可以进行两次循环,未过期的列表位置循环一次,已过期的列表位置循环一次,直接在循环输出内容时判断过期与否的字段

需要分门别类的循环输出,请问如何实现?有实例吗?


 $value) {array_multisort($sTime, SORT_ASC, $value);?>     $v)        { 		if(time() 		    $value) {array_multisort($sTime, SORT_ASC, $value);?>     $v)        { 		if(time() > $v['eTime']){			$sTime[$key]  = $v['sTime'];    			?>		   
=$key?>
=date('H:i',$v['sTime'])?> =$v['title']?> $v['sTime'] && time() 开放中'; } if(time() 暂未开放';} ?>
已过期
=$key?>
=date('H:i',$v['sTime'])?> =$v['title']?> 已过期


两次循环 循环中判断是否过期 已过期的下边显示 其他的上边显示
相关标签: PHP排序疑问