前些日子公司说要用开源产品写一个网站,因为那样的话效率会高一下,我想到了dedecms,但是我已经完全忘了怎么用了,没办法只能一边上项目一边学习,到了项目的中途遇到一个问题,有一个新闻列表右面有年份链接,点击2010年,2010年下的所有新闻都出来,点击2011年2011年的所有链接都出来了,这是可愁坏我了,因为做这个功能需要自己写功能,我对dedecms还不熟悉,犯愁了我就,忽然我想到原来在学校的时候老师讲过这个功能,我回家以后看了一下老师的视频基本懂了,

/plus目录下新建一个php文件,代码:

<?php
//新闻搜索方法
require_once(dirname(__FILE__)."/../include/common.inc.php");
$sql = "select a.*,c.* from dede_archives a left join dede_addonarticle c on a.id = c.aid where 1";
//年份搜索
if(isset($_GET['year']) && empty($_GET['yue']))
{
$key = stripslashes($_GET['year']);
$sql.= " and c.year={$key}";
$ssql = "select * from dede_archives left join dede_addonarticle on dede_archives.id=dede_addonarticle.aid where dede_archives.typeid=1  limit 1";

}
else if(isset($_GET['year']) && isset($_GET['yue']))
{
$ssql = "select * from dede_archives left join dede_addonarticle on dede_archives.id=dede_addonarticle.aid where dede_archives.typeid=1  limit 1";
$key = stripslashes($_GET['year']);
$yue = stripslashes($_GET['yue']);
$sql.=" and c.year = {$key} and c.yue = {$yue}";
}
else
{
echo "抱歉没有搜索到!";
}
$result = getAssoc($sql);
$news = getAssoc($ssql);
$geshu = count($result);
//var_dump($result);
//echo $sql;die;
require(dirname(__FILE__) . '/../templets/default/yearsearch.htm'); //相应文件夹新建一个跟当前文件一样文件名的html文件,那里面遍历新闻
?>

最后在年份列表a链接上传过来get的年份,如果月份也区分的话那就把月份也get过来,最后拼接sql。

松林原创,转载注明出处:www.songlin51.com  松林's blog