[英]Need help on mysql query
我有一个mysql数据库,在此我有一个称为商品的表。 我想在我的网页上显示本文的档案。 我想做的是,我必须显示年份,一旦用户单击年份,它将显示包含文章的月份列表..我如何为此编写mysql查询? 我面临的问题是,我还必须显示包含数个月之类的文章的年份。 我在表中以时间戳记的形式创建了日期。.有人可以建议我该怎么做吗?
编辑:
CREATE TABLE IF NOT EXISTS `articles` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`pid` int(20) NOT NULL DEFAULT '0',
`department_id` int(20) NOT NULL,
`author` varchar(100) NOT NULL,
`created` varchar(25) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
您的数据库引擎具有从SQL时间戳提取数据和时间的各个部分的功能。 例如,在MySQL中,您可以执行
SELECT YEAR(created), MONTH(created) FROM articles ...
我只是建议你alogorithm
首先使用以下命令从数据库中选择所有年份名称
SELECT FROM_UNIXTIME(created, '%Y') AS `year`
FROM articles
GROUP BY year
然后使用下面的方法获取每个月的数据
SELECT *, FROM_UNIXTIME(created, '%Y') AS `year`
FROM articles
HAVING `year` = 2009
显示文章
在PHP中
$ r = mysql_query(“按年,月,月,日从文章中选择*”);
然后全部显示
$ oldYear = 0; while($ article = mysql_fetch_array($ r){
$year =$article[year]
if($year != $oldYear){
echo $year
oldYear = $year
}
echo $article[month]
}
并且使用ajax,只需确保每个mont都是年份的子菜单,希望对您有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.