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}
...全文
187 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语句
内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。

21,889

社区成员

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

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