+ -
当前位置:首页 → 问答吧 → 请问如何获得统计显示出来的数值分页显示

请问如何获得统计显示出来的数值分页显示

时间:2011-09-14

来源:互联网

我在模板里面使用下面的代码,请问如何获得显示出来的产品次数,我应用在分页里面的。

例如我的产品表里面共有5个分类,共100个产品。但我只选择符合我条件的30个新产品显示出来,于是我给他一个isnew等于1的时候就当成新产品,于是我使用循环也显示出30个产品了,但我无法统计数字30出来,我是想显示为:共30个产品,每页5个,共6页 首页/下一页/上一页/尾页


下面是我的代码:

{assign var="productlist" value=$ProductTable->ProductList(0,0,200)}

{foreach from=$productlist item=productinfo name=foo}

{if ($productinfo->isnew == 1)}

{$productinfo->name}

{/if}

{/foreach}

如果在后面我加上:
共循环的次数:{$smarty.foreach.foo.total}次 ,他会直接显示:共循环的次数:100次 ,而不是30次。


我想上面能统计出30的值,而不是100的值,我如何显示出来30个产品并且能分页显示呢?

作者: xzfree   发布时间: 2011-09-14

发错论坛了吧。。。这是PHP么

作者: kkkgho   发布时间: 2011-09-15

哦,这是SMARTY啊。。

话说你在PHP里面查询数据库的时候SQL语句加上个 LIMIET=30不就好了,或者WHILE循环的时候只循环30次,弄个变量为$i,$i初始化为0,每次循环+1,I到30或者已经读取完了所有数据就跳出循环,然后直接把$I的数值传给SMARTY显示就好了呀

作者: kkkgho   发布时间: 2011-09-15

Ps 
PHP100视频教程13:PHP+MYSQL分页原理

http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2009/0416/807.html


1、SQL语句中的limit用法
 
SELECT * FROM table …… limit 开始位置 , 操作条数
 

2、学习分页的一种公式
 
(1)分页原理
 
所谓分页显示,也就是讲数据库中的结果集,一段一段显示出来
 
(2)需要的条件
 
怎么分段,当前在第几段 (每页有几条,当前再第几页)
 
前10条记录:select * from table limit 0,10 
第11至20条记录:select * from table limit 10,10 
第21至30条记录:select * from table limit 20,10
 
(3)得到公式
 
(当前页数 - 1 )X 每页条数 , 每页条数
 Select * from table limit ($Page- 1) * $PageSize, $PageSize
 

3、parse_url()解析URL函数
 
parse_url() 是讲URL解析成有固定键值的数组的函数
 
$ua=parse_url("http://username:password@hostname/path?arg=value#anchor");
 print_r($ua);
 结果:
 
Array
 (
  [scheme] => http
  [host] => hostname
  [user] => username
  [pass] => password
  [path] => /path
  [query] => arg=value
  [fragment] => anchor
 )
 

4、$_SERVER["REQUEST_URI"]
 
预定义服务器变量的一种,取得除域名后的完整地址和路径

作者: kkkgho   发布时间: 2011-09-15

相关阅读 更多