在文章中如何选择每个分类的前10条记录并显示

#1 sanler

在文章系统首页中显示每个分类的前10条文章,显示成如下格式
用smarty模板实现,数据库中有两个表,
class表含classid classname
article表含 articleid,classid,title,content
[table=60%]
[tr][td]分类1[/td][td]分类2[/td][/tr]
[tr][td]
文章1
文章2
。。。。[/td][td]
文章1
文章2
。。。。[/td][/tr]
[tr][td]分类3[/td][td]分类4[/td][/tr]
[tr][td]
文章1
文章2
。。。。[/td][td]
文章1
文章2
。。。。[/td][/tr]
[/table]

2010-03-14 14:28:50

#2 jake

这样的一个页面上要显示多个分类的前几条记录,也没什么好的方法,基本还是每个分类都查一次,然后合在一起返回。这样当然效率不高。

在sp框架基础上,我可以建议你用一个model的函数来封装这几个分类返回的内容。也就是调用某个方法就返回一个多维数组,数组每一项对应一个分类,然后每个分类下面是多条记录。

然后这个函数,使用sp的spCache来作为缓存,因为一般这种多分类显示的形式都是在首页或是频道首页,所以用spCache作为缓存是比较理想的方法了。

2010-03-14 18:16:07

#3 sanler

没错,这个是用在首页的
你的意思是说在model中查询完毕后赋值给一个二维数组
看起来比较麻烦,效率不高,我原先也是循环获取的
不知道有什么其他好的解决方案没

2010-03-14 23:14:24

#4 jake

没错,这个是用在首页的
你的意思是说在model中查询完毕后赋值给一个二维数组
看起来比较麻烦,效率不高, ...
sanler 发表于 2010-3-14 23:14
所以才建议封装成函数,然后用spCache来做缓存,这样就能解决效率问题。

2010-03-15 08:43:15