当前位置: 代码迷 >> PHP >> ,smarty循环不显示
  详细解决方案

,smarty循环不显示

热度:58   发布时间:2016-04-28 17:24:56.0
求助,smarty循环不显示

$arr=$_SESSION["mycar"];//从session中拿出二维数组
$smarty->assign("arr",$arr);




 {section name=a loop=$arr}
  <tr>
   <td width="96">{$arr[a].pid}</td>
   <td width="158">{$arr[a].name}</td>
   <td width="154">{$arr[a].num}</td>
   <td width="177"><a href="delete.php?id={$arr[a].pid}">删除</a></td>
   </tr>
   {/section}


print_r(arr)有数据;
Array ( [27] => Array ( [pid] => 27 [name] => 玻璃茶几 [num] => 11 ) [26] => Array ( [pid] => 26 [name] => 布艺沙发 [num] => 6 ) [25] => Array ( [pid] => 25 [name] => [num] => 4 ) [24] => Array ( [pid] => 24 [name] => [num] => 6 ) ) 


但是表里只有4行框,不显示数据啊
------解决思路----------------------
{section name=a loop=$arr}    将这一行后面的空格删掉应该就可以了。
------解决思路----------------------
{section name=a loop=$arr}
要求数组的下标从 0 开始
你 error_reporting(E_ALL); 就可以看到错误信息了

$smarty->assign("arr",$arr);
应写作
$smarty->assign("arr",array_values($arr));