Smarty中遇到的一个问题求解决

訫殇失命 2019-01-02 02:31:52
问题:数据库2个表,一个分类表Plate,一个链接表LinkNav。
在PHP页面查询分类表,赋值给html页面后,html页面foreach循环出分类,
然后怎么根据当前分类的ID查询出当前分类的链接。
这个涉及到两层foreach循环。单独用PHP能写出来。但用smarty就写不出来了。
PHP代码

/*查询板块信息*/
$PlateSql="select * from Plate";
$stm=$PDO->query($PlateSql);
$Plate=$stm->fetchAll(PDO::FETCH_ASSOC);
/*查询导航信息*/
$LinkSql="select * from LinkNav";
$stm=$PDO->query($LinkSql);
$Link=$stm->fetchAll(PDO::FETCH_ASSOC);
/*实例化Smarty*/
$Smarty=new Smarty();
/*传入板块信息数据*/
$Smarty->assign("Plate",$Plate);
/*传入导航信息数据*/
$Smarty->assign("Link",$Link);
$Smarty->display('daohang.html');

html代码

{foreach $Plate as $Pl}
<div class="daohang-buttom" id="daohang-buttom-{$Pl.id}">
<h1>{$Pl.PlateName}</h1>
<img src="templates/images/icon/xia.png" onClick="daohangss({$Pl.id})">
{foreach $Link as $Lk}
<div class="content">
<div class="daohang-lianjie" align="left" onClick="Newopen('{$Lk.LinkUrl}')">
<div class="daohang-logo">
<!--导航Logo-->
<img src="templates/images/daohang/{$Lk.LinkLogo}">
<span>{$Lk.LinkName}</span>
</div>
<div class="daohang-shuoming">
<p>{$Lk.LinkInfo}</p>
</div>
</div>
</div>
{/foreach}
</div>
{/foreach}
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Csdn技术大神 2019-01-03
  • 打赏
  • 举报
回复
很简单的测试一下有没有错误就可以了
訫殇失命 2019-01-02
  • 打赏
  • 举报
回复
引用 1 楼 下雨的声音丶 的回复:
复杂的我也不说的,你的条件我也猜不到 简单点 你第二次循环的时候 去判断 LinkNav 关联Plate表的ID 是不是等于第一层循环的ID 等于才输出。就是加一个if语句
是我想的太复杂了。。一句if一句成功解决! 未解决前 解决后

{foreach $Plate as $Pl}
					<div class="daohang-buttom" id="daohang-buttom-{$Pl.id}">
						<h1>{$Pl.PlateName}</h1>
						<img src="templates/images/icon/xia.png" onClick="daohangss({$Pl.id})">
						{foreach $Link as $Lk}
							<!--板块ID=导航ID时输出-->
							{if $Lk.Plate_id eq $Pl.id}
							<div class="content">
								<div class="daohang-lianjie" align="left" onClick="Newopen('{$Lk.LinkUrl}')">
									<div class="daohang-logo">
										<!--导航Logo-->
										<img src="templates/images/daohang/{$Lk.LinkLogo}">
										<span>{$Lk.LinkName}</span>				
									</div>
									<div class="daohang-shuoming">
										<p>{$Lk.LinkInfo}</p>
									</div>
								</div>
							</div>
							{/if}
						{/foreach}
					</div>
					{/foreach}
下雨的声音丶 2019-01-02
  • 打赏
  • 举报
回复
复杂的我也不说的,你的条件我也猜不到 简单点 你第二次循环的时候 去判断 LinkNav 关联Plate表的ID 是不是等于第一层循环的ID 等于才输出。就是加一个if语句
在讲解tmd_tpl的使用方法之前,我要先讲讲为什么要重新发明这个轮子。 那我们要从这世界上所谓的PHP模板引擎都为大家做了哪些贡献说起。 在PHP界谈模板引擎,必不可免的要拿Smarty开刀, 这个无比傻帽的却又带有一点点官方色彩的模板引擎, 如果没有我这样人富有正义感又富有创新精神的热血青年站出来, 不知道它还要继续毒害多少那些处于花季而又对PHP充满美丽幻想的少年。   1.语法 你真的认为美工学的了{foreach key=key item=item from=$contact} 这样的语法 却学不了 $item) { ?> 吗? 而 {if $name eq "Fred" or $name eq "Wilma"} 又比 优秀到哪里去? 首先我对美工会学Smarty语法始终保持怀疑态度,至少我工作这么多年还没遇到一个Smarty语法的, 而就算美工愿意学,你又为何不教他正宗的PHP语法,却要教他一门连你自己搞不清楚的“Smarty语言”   2.可视化 当页面从美工交接到你手上,然后你给那些完美的网页,套上那恶心的Smarty代码, 然后在Dreamweaver里,你是否认真的看过那些页面已经变得何等的丑陋, 图片还看得见吗?CSS还在吗?更不用说include了。而要修改的时候呢?你还能一眼认出来吗? 这些都解决不了,那些所谓的模板引擎又怎么配得上“强大”二字?   3\多的我就不说了,这里只是拿Smarty举个例子,应该不难发现,其它模板引擎也大同小异, 都忙着发明自己的模板语言,而真正需要解决问题则避而不谈, 现在你是否明白了,所谓的模板引擎,所谓的强大,都TMD骗子, 在夜深人静的夜里,我曾无数次的醒来,感觉自己的担子又重了一些,只因为不能够将这个残忍的事实告诉你。 于是我痛心疾首,痛下狠心,百忙之抽空写了这个命名为tmd_tpl的真正的模板引擎, 虽然也许现在还不算强大,但强大是未来的一种必然。
第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和准备工作 2.2Windows下Apache+MySQL+PHP的安装 2.3在Windows下配置Apache+php5 2.4在Windows下架设IIS和PHP1 2.5Linux下的服务器环境 2.6Windows下使用组合包 2.7PHP常用开发工具 2.8第一个PHP实例 3.PHP语言基础(教学录像:49分19秒) 3.1PHP标记风格 3.2PHP注释的应用 3.3PHP的数据类型 3.4PHP常量 3.5PHP变量 3.6PHP运算符 3.7PHP的表达式 3.8PHP函数 3.9PHP编码规范 4.流程控制语句(教学录像:31分10秒) 4.1条件控制语句 4.2循环控制语句 字符串操作(教学录像:1小时18分13秒) 5.1字符串简介 5.2单引号和双引号的区别 5.3字符串的连接符 5.4字符串操作 正则表达式(教学录像:28分34秒) 6.1什么是正则表达式 6.2正则表达式语法规则 6.3POSIX扩展正则表达式函数 6.4PCRE兼容正则表达式函数 PHP数组(教学录像:56分29秒) 7.1了解数组 7.2声明数组 7.3数组的类型 7.4输出数组 7.5数组的构造 7.6遍历数组 7.7合并数组 7.8字符串与数组的转换 7.9统计数组元素个数 7.10数组排序 PHP与Web页面交互(教学录像:1小时4分33秒) 8.1Web页表单元素的组成 8.2在普通的Web页插入表单 8.3获取表单数据的两种方法 8.4PHP传参的常用方法 8.5在Web页嵌入PHP脚本 8.6在PHP获取表单数据 8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript事件 9.6JavaScript脚本嵌入方式 9.7在PHP调用JavaScript脚本 日期和时间(教学录像:27分16秒) 10.1日期和时间的概述 10.2处理日期和时间 10.3Unix时间戳 10.4系统时区设置 10.5开发遇到的日期和时间问题 第2篇 核心技术 Cookie与Seession(教学录像:35分40秒) 11.1Cookie管理 11.2Session管理 11.3Cookie与Session的比较 图形图像处理技术(教学录像:36分13秒) 12.1了解GD库 12.2在PHP设定图像支持 12.3图形图像的典型应用 12.4Jpgraph的安装与配置 文件系统(教学录像:52分24秒) 13.1文件目录概述 13.2文件处理 13.3目录处理 13.4文件处理的高级应用 13.5文件上传 面向对象(教学录像:30分18秒) 14.1面向对象的基本概念 14.2PHP与对象 14.3PHP对象的高级应用 PHP加密技术(教学录像:34分45秒) 15.1加密技术概述 15.2PHP加密函数 15.3PHP加密扩展库 MySQL数据库基础(教学录像:58分50秒) 16.1MYSQL简介 16.2MySQL的特点 16.3启动、连接、断开和停止MySQL服务器 16.4MySQL数据库操作 16.5MySQL数据表操作 16.6MySQL语句操作 phpMyAdmin图形化管理工具(教学录像:57分47秒) 17.1了解PHPMyAdmin图形化管理工具 17.2phpMyAdmin的安装和配置 17.3phpMyAdmin的使用 PHP操作MySQL数据库(教学录像:1小时17分40秒) 18.1PHP访问MySQL数据库的一般步骤 18.2PHP操作MySQL数据库的方法 18.3PHP操作MySQL数据库 ADODB类库(教学录像:56分15秒) 19.1什么是ADODB 19.2为什么使用ADODB 19.3ADODB支持的数据库 19.4下载与安装ADODB 19.5使用ADODB操作MySQL 19.6ADODB类库 19.7ADODB类库应用 程序调试及错误处理(教学录像:1小时19秒) 20.1基本调试流程 20.2PHP的错误类型 20.3PHP的基本调试策略 20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒) 22.1XML的概述 22.2XML语法 22.3在PHP创建XML文档 22.4SimpleXML 22.5动态创建XML文档 PHP与LDAP技术(教学录像:25分27秒) 23.1LDAP简介 23.2LDAP服务器的安装与配置 23.3PHP与LDAP PHP与Ajax技术(教学录像:32分47秒) 24.1了解AJAX 24.2AJAX使用的技术 24.3Ajax开发需要注意的几个问题 24.4在PHP应用AJAX技术的典型应用 Web Service与SOAP技术(教学录像:31分1秒) 25.1Web Service技术 25.2SOAP协议 25.3WSDL文档 25.4UDDI规范 25.5PHP内置SOAP类库 25.6使用NuSOAP类包 Smarty模板技术(教学录像:38分44秒) 26.1Smarty简介 26.2Smarty的安装配置 26.3Smarty模板设计 26.4Smarty程序设计 第4篇 项目实战 应用Smarty模板开发电子商务网站(教学录像:2小时10分54秒) 27.1系统分析 27.2系统设计 27.3软件开发环境 27.4数据库与数据表设计 27.5搭建系统框架 27.6公共文件设计 27.7前台首页设计 27.8登录模块设计 27.9会员信息模块设计 27.10商品显示模块设计 27.11购物车模块设计 27.12收银台模块设计 27.13后台首页设计 27.14类别管理模块 27.15订单管理模块设计 27.16开发的常见问题 27.17发布网站
第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和准备工作 2.2Windows下Apache+MySQL+PHP的安装 2.3在Windows下配置Apache+php5 2.4在Windows下架设IIS和PHP1 2.5Linux下的服务器环境 2.6Windows下使用组合包 2.7PHP常用开发工具 2.8第一个PHP实例 3.PHP语言基础(教学录像:49分19秒) 3.1PHP标记风格 3.2PHP注释的应用 3.3PHP的数据类型 3.4PHP常量 3.5PHP变量 3.6PHP运算符 3.7PHP的表达式 3.8PHP函数 3.9PHP编码规范 4.流程控制语句(教学录像:31分10秒) 4.1条件控制语句 4.2循环控制语句 字符串操作(教学录像:1小时18分13秒) 5.1字符串简介 5.2单引号和双引号的区别 5.3字符串的连接符 5.4字符串操作 正则表达式(教学录像:28分34秒) 6.1什么是正则表达式 6.2正则表达式语法规则 6.3POSIX扩展正则表达式函数 6.4PCRE兼容正则表达式函数 PHP数组(教学录像:56分29秒) 7.1了解数组 7.2声明数组 7.3数组的类型 7.4输出数组 7.5数组的构造 7.6遍历数组 7.7合并数组 7.8字符串与数组的转换 7.9统计数组元素个数 7.10数组排序 PHP与Web页面交互(教学录像:1小时4分33秒) 8.1Web页表单元素的组成 8.2在普通的Web页插入表单 8.3获取表单数据的两种方法 8.4PHP传参的常用方法 8.5在Web页嵌入PHP脚本 8.6在PHP获取表单数据 8.7对URL传递的参数进行编码解码 8.8PHP与Web表单的综合应用 PHP与JavaScript交互(教学录像:1小时11分36秒) 9.1了解JavaScript 9.2JavaScript语言基础 9.3自定义函数 9.4JavaScript流程控制语句 9.5JavaScript事件 9.6JavaScript脚本嵌入方式 9.7在PHP调用JavaScript脚本 日期和时间(教学录像:27分16秒) 10.1日期和时间的概述 10.2处理日期和时间 10.3Unix时间戳 10.4系统时区设置 10.5开发遇到的日期和时间问题 第2篇 核心技术 Cookie与Seession(教学录像:35分40秒) 11.1Cookie管理 11.2Session管理 11.3Cookie与Session的比较 图形图像处理技术(教学录像:36分13秒) 12.1了解GD库 12.2在PHP设定图像支持 12.3图形图像的典型应用 12.4Jpgraph的安装与配置 文件系统(教学录像:52分24秒) 13.1文件目录概述 13.2文件处理 13.3目录处理 13.4文件处理的高级应用 13.5文件上传 面向对象(教学录像:30分18秒) 14.1面向对象的基本概念 14.2PHP与对象 14.3PHP对象的高级应用 PHP加密技术(教学录像:34分45秒) 15.1加密技术概述 15.2PHP加密函数 15.3PHP加密扩展库 MySQL数据库基础(教学录像:58分50秒) 16.1MYSQL简介 16.2MySQL的特点 16.3启动、连接、断开和停止MySQL服务器 16.4MySQL数据库操作 16.5MySQL数据表操作 16.6MySQL语句操作 phpMyAdmin图形化管理工具(教学录像:57分47秒) 17.1了解PHPMyAdmin图形化管理工具 17.2phpMyAdmin的安装和配置 17.3phpMyAdmin的使用 PHP操作MySQL数据库(教学录像:1小时17分40秒) 18.1PHP访问MySQL数据库的一般步骤 18.2PHP操作MySQL数据库的方法 18.3PHP操作MySQL数据库 ADODB类库(教学录像:56分15秒) 19.1什么是ADODB 19.2为什么使用ADODB 19.3ADODB支持的数据库 19.4下载与安装ADODB 19.5使用ADODB操作MySQL 19.6ADODB类库 19.7ADODB类库应用 程序调试及错误处理(教学录像:1小时19秒) 20.1基本调试流程 20.2PHP的错误类型 20.3PHP的基本调试策略 20.4解决数据库乱码问题 第3篇 高级应用 PHP网络开发(教学录像:42分33秒) 21.1电子邮件的原理 21.2系统的配置需(SMTP和POP3服务器安装配置) 21.3应用PHP发送和接收电子邮件 PHP与XML技术(教学录像:31分17秒) 22.1XML的概述 22.2XML语法 22.3在PHP创建XML文档 22.4SimpleXML 22.5动态创建XML文档 PHP与LDAP技术(教学录像:25分27秒) 23.1LDAP简介 23.2LDAP服务器的安装与配置 23.3PHP与LDAP PHP与Ajax技术(教学录像:32分47秒) 24.1了解AJAX 24.2AJAX使用的技术 24.3Ajax开发需要注意的几个问题 24.4在PHP应用AJAX技术的典型应用 Web Service与SOAP技术(教学录像:31分1秒) 25.1Web Service技术 25.2SOAP协议 25.3WSDL文档 25.4UDDI规范 25.5PHP内置SOAP类库 25.6使用NuSOAP类包 Smarty模板技术(教学录像:38分44秒) 26.1Smarty简介 26.2Smarty的安装配置 26.3Smarty模板设计 26.4Smarty程序设计 第4篇 项目实战 应用Smarty模板开发电子商务网站(教学录像:2小时10分54秒) 27.1系统分析 27.2系统设计 27.3软件开发环境 27.4数据库与数据表设计 27.5搭建系统框架 27.6公共文件设计 27.7前台首页设计 27.8登录模块设计 27.9会员信息模块设计 27.10商品显示模块设计 27.11购物车模块设计 27.12收银台模块设计 27.13后台首页设计 27.14类别管理模块 27.15订单管理模块设计 27.16开发的常见问题 27.17发布网站

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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