php中smarty中使用section循环输出二维数组的问题

最近在弄个门户网站的新闻系统,结果采用smarty后需要使用section(个人不太喜欢用foreach)循环出一个新闻推荐列表,从数据库中获得的二维数组如下:Array... 最近在弄个门户网站的新闻系统,结果采用smarty后需要使用section(个人不太喜欢用foreach)循环出一个新闻推荐列表,从数据库中获得的二维数组如下:
Array
(
[0] => Array
(
[title] => 2011我国财政预算近10万亿 五大支出惠及民生
[link] => 20110102007.html
)

[1] => Array
(
[title] => 元旦假期中到大雪袭湖北 持续-4℃到6℃低温
[link] => 20110102002.html
)

[2] => Array
(
[title] => 工伤保险条例等一批新法新规今日起生效实施
[link] => 20110101001.html
)

[3] => Array
(
[title] => 中国开启新十年新里程 四级党委开始集中换届
[link] => 201110101001.html
)

)
该数组名称就称之为$newsreco吧!其中link为替换到html页面中a标签的 title为标题。

php程序替换使用语句: $smarty -> assign("newsreco","$newsreco");
其他细节循环均在模板中控制,我写了个section循环 就是无法显示结果,只是显示个A 然后链接也变成了A 。郁闷死了!
我的section循环语句如下:
<%{section name=news loop=$newsreco}%>
<%{section name=newsonex loop=$newsreco[news]}%>
<h4><a href="<%{$newsonex.link}%>" target=_blank><%{$newsonex.title}%></a></h4>
<%{/section }%>
<%{/section}%>

我的问题是:
1.语句肯定是有错误的,错误在哪里,以及给小弟说一说smarty中section的使用规则,或者说就这个例子把相关的问题以及理由说一说!
2.如果问题没说清楚,请您就这个二维数组$newsreco重写一下section语句
3.smarty中这个数组能否使用foreach列出?

问题就这些 各位php侠客就拜托了
大侠 qiubin_2003 的运行结果:原本应该显示文字标题的也就是$newsreco[0][title]、$newsreco[1][title]、$newsreco[2][title]三个元素的地方显示 一个字母 “A” 。鼠标放上去后链接也是“A”目录。

大侠 johnny_d2010 的运行结果:空白 !

我也不知道是什么地方出错了。我怀疑是读取数据库获得 $newsreco数组有问题 ,但是print_r 后显示数组正确。难道是smarty配置错误!但是不可能啊!我的新闻正文已经assign出来了

另:不可能是书写错误的!我仔细检查了n遍 该改过来的书写错误都改过来了!
展开
 我来答
gpgkd906
2011-01-13 · TA获得超过142个赞
知道答主
回答量:187
采纳率:0%
帮助的人:205万
展开全部
$smarty -> assign("newsreco",$newsreco);

"$newsreco"这里加上双引号的话,值还没有传递就直接被展开成Array了。

另外如果可以用foreach的时候,还是用foreach比较好,section的效率比foreach低很多,这不是一个喜欢与否的问题。
百度网友598742b
2011-01-13 · TA获得超过1627个赞
知道小有建树答主
回答量:2655
采纳率:100%
帮助的人:1234万
展开全部
个人感觉foreach更好用。

{foreach from=$newsreco item=news}
<a href="{$news.link}" target="_blank">{$news.title}</a>
{/foreach}

就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式