免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3944 | 回复: 10

smarty foreach问题 [复制链接]

论坛徽章:
0
发表于 2008-07-30 13:30 |显示全部楼层
在smarty中foreach的时候碰到一个有意思的现象,页面中的数组 如下:
array(1) { [0]=> array(20) { ["ID"]=> string(2) "26" ["PID"]=> string(1) "0" ["SortID"]=> string(2) "36" ["Content"]=> string(50) " ~ ~麻烦处理一下,谢谢!" ["UserID"]=> string(0) "" ["UserMobile"]=> string(0) "" ["UserEmail"]=> string(0) "" ["UserFeedback"]=> string(0) "" ["UserProduct"]=> string(16) "pepperl-fuchs.cn" ["IP"]=> string(13) "122.70.138.21" ["Recorder"]=> string(0) "" ["SalesID"]=> string(0) "" ["CSID"]=> string(0) "" ["OperationID"]=> string(4) "运维" ["PRI"]=> string(1) "1" ["Top"]=> string(1) "0" ["Status"]=> string(7) "opreply" ["Addtime"]=> string(19) "2008-07-08 09:40:30" ["Picktime"]=> string(19) "0000-00-00 00:00:00" ["Visible"]=> string(1) "0" } }

是一个2维数组,开始的时候(由于是移植) 我把他当三维的处理了 模板代码如下:



  1. {*foreach from=$ByIp item=SItem*}
  2. {*foreach from=$SItem item=pItem*}
  3. {*if $pItem.UserProduct*}
  4. <tr>
  5.                 <td align="center">&nbsp;{*$pItem.UserProduct*}</td>
  6.                 <td align="center">&nbsp;{*$pItem.CSID*}</td>
  7.                 <td align="center">&nbsp;{*$pItem.OperationID*}</td>
  8.                 <td align="center">&nbsp;{*$pItem.Addtime*}</td>
  9.                 <td align="center">&nbsp;{*$pItem.Content*}</td>
  10.                 <td align="center">&nbsp;{*$pItem.OperationID*}</td>
  11. </tr>
  12. {*/if*}       
  13. {*/foreach*}
  14. {*/foreach*}

复制代码


按照正常来说 应该是空的(对否??)  可页面输出了 。。输出如下(不知道怎么来了)


不知道是个什么原因??数组输出是正常的(上面贴出来的)
未命名.jpg

论坛徽章:
0
发表于 2008-07-30 15:55 |显示全部楼层
怎么么没人啊,,,,,,,,难道都被查了??

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
发表于 2008-07-30 20:13 |显示全部楼层

回复 #2 hbl.ncut 的帖子

是不会啊。。。

论坛徽章:
0
发表于 2008-07-31 04:06 |显示全部楼层
我觉得程序没有错。问题在于,你要在循环的时候,在{*$pItem.UserProduct*}在加上一个smarty 函数来转义其内容。用来保证不出现会破坏html的元素,比如 <>符号。

写法可能如下
{*$pItem.UserProduct|escape:'html'*}

论坛徽章:
0
发表于 2008-07-31 10:27 |显示全部楼层

回复 #4 imbiss 的帖子

按照您的方法试了 问题依然存在。
代码如下  

{*foreach from=$ByIp item=SItem*}
{*foreach from=$SItem item=pItem*}
<tr>
                <td align="center">&nbsp;{*$pItem.UserProduct|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.CSID|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.OperationID|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.Addtime|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.Content|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.OperationID|escape:"html"*}</td>
</tr>
{*/foreach*}
{*/foreach*}

论坛徽章:
0
发表于 2008-07-31 10:29 |显示全部楼层
如果有人想调试的话  数组如下:

array(1) { [0]=> array(20) { ["ID"]=> string(2) "26" ["PID"]=> string(1) "0" ["SortID"]=> string(2) "36" ["Content"]=> string(50) " ~ ~麻烦处理一下,谢谢!" ["UserID"]=> string(0) "" ["UserMobile"]=> string(0) "" ["UserEmail"]=> string(0) "" ["UserFeedback"]=> string(0) "" ["UserProduct"]=> string(16) "pepperl-fuchs.cn" ["IP"]=> string(13) "122.70.138.21" ["Recorder"]=> string(0) "" ["SalesID"]=> string(0) "" ["CSID"]=> string(0) "" ["OperationID"]=> string(4) "运维" ["PRI"]=> string(1) "1" ["Top"]=> string(1) "0" ["Status"]=> string(7) "opreply" ["Addtime"]=> string(19) "2008-07-08 09:40:30" ["Picktime"]=> string(19) "0000-00-00 00:00:00" ["Visible"]=> string(1) "0" } }

页面代码如下:

{*foreach from=$ByIp item=SItem*}
{*foreach from=$SItem item=pItem*}
<tr>
                <td align="center">&nbsp;{*$pItem.UserProduct|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.CSID|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.OperationID|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.Addtime|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.Content|escape:"html"*}</td>
                <td align="center">&nbsp;{*$pItem.OperationID|escape:"html"*}</td>
</tr>
{*/foreach*}
{*/foreach*}

论坛徽章:
52
码神
日期:2017-03-28 10:27:10综合交流区版块每日发帖之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-09-28 06:20:00综合交流区版块每日发帖之星
日期:2015-09-22 06:20:00每日论坛发贴之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-12 06:20:00综合交流区版块每日发帖之星
日期:2015-09-08 06:20:00综合交流区版块每日发帖之星
日期:2015-09-05 06:20:00综合交流区版块每日发帖之星
日期:2015-09-04 06:20:002015亚冠之德黑兰石油
日期:2015-09-01 10:41:53每日论坛发贴之星
日期:2015-10-11 06:20:00综合交流区版块每日发帖之星
日期:2015-10-12 06:20:00
发表于 2008-07-31 10:52 |显示全部楼层

回复 #6 hbl.ncut 的帖子

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
发表于 2008-07-31 11:02 |显示全部楼层
原帖由 hbl.ncut 于 2008-7-31 10:29 发表
array(1) { [0]=> array(20) { ["ID"]=> string(2) "26" ["PID"]=> string(1) "0" ["SortID"]=> string(2) "36" ["Content"]=> string(50) " ~ ~麻烦处理一下,谢谢!" ["UserID"]=> string(0) "" ["UserMobile"]=> string(0) "" ["UserEmail"]=> string(0) "" ["UserFeedback"]=> string(0) "" ["UserProduct"]=> string(16) "pepperl-fuchs.cn" ["IP"]=> string(13) "122.70.138.21" ["Recorder"]=> string(0) "" ["SalesID"]=> string(0) "" ["CSID"]=> string(0) "" ["OperationID"]=> string(4) "运维" ["PRI"]=> string(1) "1" ["Top"]=> string(1) "0" ["Status"]=> string(7) "opreply" ["Addtime"]=> string(19) "2008-07-08 09:40:30" ["Picktime"]=> string(19) "0000-00-00 00:00:00" ["Visible"]=> string(1) "0" } }


这个是你打印哪个变量出来的??

论坛徽章:
0
发表于 2008-07-31 11:17 |显示全部楼层

回复 #8 xinglu1983 的帖子

$ByIp 的



  1. var_dump($ByIp);
  2. $oSmarty->assign("ByIp",$ByIp);

复制代码

[ 本帖最后由 hbl.ncut 于 2008-7-31 11:21 编辑 ]

论坛徽章:
0
发表于 2008-07-31 13:55 |显示全部楼层

回复 #10 mz198424 的帖子

你是灌水的吧。。。。

[ 本帖最后由 hbl.ncut 于 2008-7-31 14:00 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP