现在数据库中有一个paper表,里面有id,title,year三个字段,现在我想按year分类,把他们输出到表格。最终效果如下:
2008年 2009年 2010年 2011年
title0 title0 title0 title0
title1 title1 title1 title1
title2 title2 title2 title2
title3 title3 title3 title3
title4 title4 title4 title4数据库查询语句应该怎么写,然后再怎样循环输出到表格?
2008年 2009年 2010年 2011年
title0 title0 title0 title0
title1 title1 title1 title1
title2 title2 title2 title2
title3 title3 title3 title3
title4 title4 title4 title4数据库查询语句应该怎么写,然后再怎样循环输出到表格?
SELECT year FROM paper WHERE 条件 GROUP BY year ORDER BY year ASC;
取出year
例如: $arr_year=array('2008','2009','2010','2011',);SELECT title,year FROM paper WHERE 条件 ORDER BY title ASC,year ASC;
这样取出的数据应该是这样的:
$data=array(
0=>array('title'=>'title0','year'=>'2008'),
1=>array('title'=>'title0','year'=>'2009'),
2=>array('title'=>'title0','year'=>'2010'),
3=>array('title'=>'title0','year'=>'2011'),
4=>array('title'=>'title1','year'=>'2008'),
5=>array('title'=>'title1','year'=>'2009'),
6=>array('title'=>'title1','year'=>'2010'),
....
);
<table>
<tr>
<?php
foreach($arr_year as $year)
{
echo '<td>'.$year.'年</td>';
}
?>
</tr><tr>
<?php
$i=1;
foreach($data as $r)
{
foreach($arr_year as $year)
{
if($year==$r['year'])
{
echo '<td>'.(empty($r['title'])?' ':$r['title']).'</td>';
break;
}
}
if($i%count($arr_year)==0) echo '</tr><tr>';
$i++;
}
?>
</tr>
</table