繁体   English   中英

需要有关MySQL查询的帮助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM