首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP排序疑点

2013-08-04 
PHP排序疑问本帖最后由 u010801782 于 2013-07-30 23:32:15 编辑?phpfunction switchWeek($num){switch (

PHP排序疑问
本帖最后由 u010801782 于 2013-07-30 23:32:15 编辑


<?php
function switchWeek($num){
    switch ($num) {
        case 1:
            return '星期一';
            break;
        case 2:
            return '星期二';
            break;
        case 3:
            return '星期三';
            break;
        case 4:
            return '星期四';
            break;
        case 5:
            return '星期五';
            break;
        case 6:
            return '星期六';
            break;
        case 7:
            return '星期日';
            break;
         default:
            return '';
            break;
    }
}
$con = mysql_connect("localhost","root","") or die('连接失败:'.mysql_error());
mysql_select_db("testt");
mysql_query('set names utf8');
$sql = 'select * from news ';
$result = mysql_query($sql);
$array = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
    $key = date('Y年m月d日',$row['sTime']).' '.switchWeek(date('N',$row['sTime']));
    $array[$key][]=$row;
}
mysql_free_result($result);
//var_dump($array);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>demo</title>
</head>
<body>
<table border='3' style="width: 500px; text-align:center;">
<?php 
foreach ($array as $key => $value) 
{
array_multisort($sTime, SORT_ASC, $value);
?>
    <tr><td colspan='5'><?=$key?></td></tr>
    <?php 
       foreach ($value as $k => $v) 
       { 
        $sTime[$key]  = $v['sTime'];
?>
       <tr>
       <td><?=date('H:i',$v['sTime'])?></td>
       <td><?=$v['title']?></td>
       <td>
   <?php
        if(time() > $v['sTime'] && time() < $v['eTime'] ){ echo '<span style="color: green;">开放中</span>'; }
        if(time() < $v['sTime']){echo '<span style="color: #999;">暂未开放</span>';}
        if(time() > $v['eTime']){echo '<span style="color:red ;">已过期</span>';}
        ?>
        </td>
        </tr>
        <?php 
}
?>
<?php 
}
?>
<tr><td colspan='5'>已过期</td></tr>
</table>
</body>
</html>



PHP排序疑点

最终效果如图,请问前端显示的时候如何按时间大小降序并且已经过期的行移动到已过期下面去。
PHP排序疑点
[解决办法]
如果仅仅是顺序排列,已过期的在下边未过期的在上边 各自按时间倒序排列



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

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

热点排行