thinkphp自定义标签问题

a305432425 2016-11-12 01:54:00
我自定义了一个获取导航的标签,但是从数据库查询出来的数据在返回到页面上之后变为了Array不能用于循环
//导航
public function _getnav($tag,$content)
{
$sql = "SELECT * FROM tk_nav";
$sql.= " WHERE isopen=1";
$sql.= " ORDER BY IFNULL(displayorder,9999) ASC";
$sql.= " LIMIT ".$tag['row'];
$data = $this->db->query($sql);

$string = '<?php foreach('.$data.' as $key=>$'.$tag["id"].'): ?>';
$string.= $this->tpl->parse($content);
$string.= '<?php endforeach; ?>';

return $string;
}
返回到页面上后报错

下图是缓存代码

$data数组直接变为了Array!是我漏掉了什么吗?还是$data应该用什么处理下
...全文
205 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a305432425 2016-11-15
  • 打赏
  • 举报
回复
引用 5 楼 komyluo 的回复:
我的意思是 应该原样输出$data 就像那个$key一样
已经搞定了,把查询也写在拼接的字符串里面就可以了
komyluo 2016-11-12
  • 打赏
  • 举报
回复
我的意思是 应该原样输出$data 就像那个$key一样
a305432425 2016-11-12
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
你这算是 自定义标签 吗? 再说 TP 本身就提供有 foreach 标签,无需你再去定义
你还是看清楚吧
xuzuning 2016-11-12
  • 打赏
  • 举报
回复
你这算是 自定义标签 吗? 再说 TP 本身就提供有 foreach 标签,无需你再去定义
a305432425 2016-11-12
  • 打赏
  • 举报
回复
引用 1 楼 komyluo 的回复:
拼接$string时,$data应该在单引号内
在单引号内的话输出就是空
komyluo 2016-11-12
  • 打赏
  • 举报
回复
拼接$string时,$data应该在单引号内

20,360

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧