刚学PHP,给大哥们叩拜了!  请教一下,PHP如何将读取到的mysql内容按发布的日期分割显示呢?  如:  ------------------------------------------------------
  2012-12-26 的所有文章
  
  ------------------------------------------------------
  2012-12-27 的所有文章  ------------------------------------------------------
  2012-12-28 的所有文章就这个效果,烦劳大哥们,教教小弟。

解决方案 »

  1.   


     而且我是想把结果取出来,让php做这个事情!
      

  2.   


    非常抱歉啊,是织梦的cms,下面是查询语句:$dsql->SetQuery("select b.id,b.arcrank,b.title,b.typeid,b.pubdate,b.source,c.typename,a.typeid,a.times  from dede_test a  inner  join dede_archives b on a.aid=b.id  inner  join dede_arctype c on a.typeid=c.id where b.pubdate + a.times > UNIX_TIMESTAMP() ORDER BY b.pubdate asc limit 0,100");
    $dsql->Execute();
    while($row=$dsql->GetObject())
    {
      $id = $row->id; 
          $title = $row->title; 
          $pubdate = date("Y-m-d H:i",$row->pubdate); 
      $typeid = $row->typeid;
          $typename = $row->typename;
        $newartlist .= "<li><span class=\"time\">".$pubdate."</span> <a class=\"list\" href=\"?action=list&amp;id=".$typeid."\">".$typename."</a> <a href=\"?action=news&amp;id=".$id."\">".$title."</a></li>";
    }
      

  3.   


     非常抱歉,小弟初学php,问问题也不在行,请海涵!
      

  4.   

    查出来之后,按日期排序. 然后php分组显示
      

  5.   


    是啊,用PHP把每天的分开显示就可以!
      

  6.   

    $pubdate = date("Y-m-d H:i",$row->pubdate); 
    改为
    $pubdate = date("Y-m-d H:i",$row->pubdate); 
    if(!isset($lastdate) || $lastdata != $pubdate) {
      echo '<hr>';
      $lastdata = $pubdate;
    }
      

  7.   


    哦,非常感谢! 不过我有些不解,$lastdata 值是什么?
    这个我如何循环呢?
      

  8.   

    刚才疏忽了
    $lastdata = $pubdate;
    应写作
    $lastdata = date("Y-m-d",$row->pubdate);你的查询是按 pubdate 排序的,所以结果中相同日期的条目会排在一起
    可以这样想:如果读取到的日期与上一条的日期不同,是不是新的一天开始了呢?
    $lastdata 就是一个变量,记录上一条的日期
      

  9.   

    思路是这样的先把所有的数据读取出来,排序,这个不用教了吧?
    然后定义数组关联数组,key就是日期,
    再foreach完成
    ok~
      

  10.   

    $data['$key']=$value;这样来实现
      

  11.   

    查询的时候where语句。比如说:截取时间到日期substr($date,0,8),按这个条件查询的结果集就是按日期查询了啊,然后用分支语句+循环输出分类的结果。
      

  12.   

    或者可以用where语句的group by来查询一个日期的所有结果。
    只是给你个思路,具体事情具体分析吧。