糊涂的根号三 2016-06-29 13:00 采纳率: 0%
浏览 1079

mysql处理列表排序问题:过期信息排在后面

数据表有个关于过期时间的字段: guoqi

下面的两段代码,是把过期的信息过滤掉,请问怎样,怎么样让过期信息排在没过期信息后面呢,不过滤。

 if($this->TotalResult==-1)
        {
            //日期过滤
        if ($this->TypeLink->TypeInfos['channeltype']==1) {
        $nowtime = time()-43200;
    $timesql = " AND {$addtable}.guoqi > $nowtime ";
    $cquery = "SELECT COUNT(*) AS dd FROM `#@__arctiny` arc $addJoin WHERE ".$this->addSql.$timesql;
    }
    else{
    $cquery = "SELECT COUNT(*) AS dd FROM `#@__arctiny` arc $addJoin WHERE ".$this->addSql;
    }

 //文档模型过期文档过滤
        if ($this->TypeLink->TypeInfos['channeltype']==1) {
        $nowtime = time()-43200;
    $timesql = " AND {$addtable}.guoqi > $nowtime ";
    $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,
          tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
          $addField
          FROM `#@__archives` arc
          LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id
          $addJoin
          WHERE {$this->addSql} $timesql $ordersql LIMIT $limitstart,$row";
    }
​
  • 写回答

1条回答 默认 最新

  • 像忘了谁sq 2016-07-02 02:37
    关注

    有个关键字叫 union all 拼接查询结果集的
    SELECT * FROM program WHERE pro_status = 1
    UNION ALL
    SELECT * FROM program WHERE pro_status = 0

    评论

报告相同问题?