我在模板里面使用下面的代码,请问如何获得显示出来的产品次数,我应用在分页里面的。例如我的产品表里面共有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个产品并且能分页显示呢?
下面是我的代码:{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个产品并且能分页显示呢?
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的如此详细回复,是这样的,产品表里面有许多新产品,我只让当isnew为1的时候就让他为新产品,这个30只是举例,不确定是30个新产品的,我只想取所有的当isnew为1的时候的所有新产品出来分页显示,我就是要读出并统计有多少个这样的数才知道多少个产品。希望再次帮忙写出代码,$i的使用能否直接在smary模板里面用呢?如何写法呢?加在什么位置能实现统计isnew=1的产品数?谢谢
{$smarty.foreach.foo.total}上面这个分别显示:
1 2 3 4 5 .... 29 30
100我如何才能让30的数值给到一个变量里面,再跳出来显示呢?