数据库有一表:请问这样效果怎么实现:

解决方案 »

  1.   

    你主要是问怎样按季度分组的吧
    因为如果你要是问这个版面怎样出来的,那应该是php,mysql与CSS合作的结果呵呵这个的实现方法有很多种,你可以设一个函数,接收如2009/4-6的月份参数
    然后在这个函数里用
    function print_q($param1,$param2){
       ......
       $str = select * from table where month_added in ($para1,$param2)
       .....//输出
    }然后分别调用print_q(1,3);print_q(4,6)等...当然,方法有很多种
      

  2.   

    id  title   year_added  month_added  day_added
    1   新闻1   2000        1            1
    2   新闻2   2000        2            2
    3   新闻3   2000        3            3
    4   新闻4   2000        4            4
    5   新闻5   2000        5            5
    6   新闻6   1999        6            6
    7   新闻7   1999        7            7
    8   新闻8   1999        8            8
    9   新闻9   1999        9            9
    10  新闻10  1999        10           10
    显示方式:2000年 4-6月
    新闻5 新闻42000年 1-3月
    新闻3 新闻2 新闻11999年 10-12月
    新闻10 1999年 7-9月
    新闻9 新闻8 新闻71999年 4-6月
    新闻6
      

  3.   

    $query = "SELECT id,title,year_added,month_added FROM table ORDER BY year_added DESC, month_added DESC, day_added DESC";
    $result = mysql_query($query);
    while($row = mysql_fetch_array($result)){
     $month = floor(($row["month_added"] - 1)/3);
     $arr[$row["year_added"]][$month][] = $row["title"];
    }foreach($arr as $k=>$v){
     foreach($v as $k1=>$v1){
      echo $k."年". ($k1*3 +1) ."-". ($k1*3 + 3) ."月<br>";
      foreach($v1 as $k2=>$v2){
       echo $v2."<br>";
      }
     }
    }