简单4行代码限制帮助信息显示条数

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家

虽然大家一直都提议 可以在后台控制前台 用get_shop_help()函数 调用帮助信息显示条数,但是官方一直没有解决,为了方便网站更新,每天都在更新信息结果造成底部拉的好长,今天研究了一下终于解决了,

效果请看品牌童装批发网 http://www.61pf.net

步骤如下
lib_mail.php 文件
function get_shop_help() 函数
function get_shop_help()
{
$sql = 'SELECT c.cat_id, c.cat_name, c.sort_order, a.article_id, a.title, a.file_url, a.open_type ' .
'FROM ' .$GLOBALS['ecs']->table('article'). ' AS a ' .
'LEFT JOIN ' .$GLOBALS['ecs']->table('article_cat'). ' AS c ' .
'ON a.cat_id = c.cat_id WHERE c.cat_type = 5 AND a.is_open = 1 ' .
'ORDER BY c.sort_order ASC, a.article_id desc';

$res = $GLOBALS['db']->getAll($sql);
$arr = array();
$brr= array();
foreach ($res AS $key => $row)
{
if($brr[$row['cat_id']]['nums']<10){
$arr[$row['cat_id']]['cat_id']= build_uri('article_cat', array('acid'=> $row['cat_id']), $row['cat_name']);
$arr[$row['cat_id']]['cat_name']= $row['cat_name'];
$arr[$row['cat_id']]['article'][$key]['article_id']= $row['article_id'];
$arr[$row['cat_id']]['article'][$key]['title'] = $row['title'];
$arr[$row['cat_id']]['article'][$key]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
$arr[$row['cat_id']]['article'][$key]['url']= $row['open_type'] != 1 ?
build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
$brr[$row['cat_id']]['nums']+=1;
}

}
return $arr;
}

加红的部分是我加上去的,这个函数里排序的sql也被我改过了,大家可以不用复制

回答:
其实......可以把'ORDER BY c.sort_order ASC, a.article_id desc';改成
'ORDER BY c.sort_order ASC, a.article_id desc limit 10';

----不是更容易么.




如果是这样的调用代码,那该如何修改调用顺序呢?
/**
* 获得指定栏目最新的文章列表。
*
* @access private
* @return array
*/
function index_get_class_articles($cat_aid, $cat_num)
{
$sql = "SELECT article_id, title,open_type,cat_id,file_url FROM " .$GLOBALS['ecs']->table('article'). " WHERE cat_id = ".$cat_aid." and is_open = 1 LIMIT " . $cat_num;
$res = $GLOBALS['db']->getAll($sql);
$arr = array();
foreach ($res AS $idx => $row)
{
$arr[$idx]['id'] = $row['article_id'];
$arr[$idx]['title'] = $row['title'];
$arr[$idx]['short_title'] = $GLOBALS['_CFG']['article_title_length'] > 0 ?
sub_str($row['title'], $GLOBALS['_CFG']['article_title_length']) : $row['title'];
$arr[$idx]['cat_name'] = $row['cat_name'];
$arr[$idx]['add_time'] = local_date($GLOBALS['_CFG']['date_format'], $row['add_time']);
$arr[$idx]['url'] = $row['open_type'] != 1 ?
build_uri('article', array('aid' => $row['article_id']), $row['title']) : trim($row['file_url']);
$arr[$idx]['cat_url'] = build_uri('article_cat', array('acid' => $row['cat_id']));
}
return $arr;
}

其实......可以把'ORDER BY c.sort_order ASC, a.article_id desc';改成
'ORDER BY c.sort_order ASC, a.a ...
kinsumsun 发表于 2010-9-19 18:24



这样全部只显示10条,而不是每个分类显示10条