Heim >Backend-Entwicklung >PHP-Tutorial >smarty模板中嵌入php代码,出现啼笑皆非的异常,请大神帮助

smarty模板中嵌入php代码,出现啼笑皆非的异常,请大神帮助

WBOY
WBOYOriginal
2016-06-13 11:49:45896Durchsuche

smarty模板中嵌入php代码,出现啼笑皆非的错误,请大神帮助!
首先,各位大神,咱们就不纠结在应该不应该把php代码嵌入smarty模板中这类问题了,好不?因为我也是在别人代码上增加功能,只要能快速解决问题,啥办法都行。

问题描述:
在表格中,采用foreach的方式从$items读取每个记录,并且在表格中每行显示若干关键词相应的内容。$items是来自于后端php代码处理的结果。现在我需要在显示某个关键词内容时加个判断,读取相应内容,并且做个小链接。
代码如下:

<br /> {foreach $items as $item}<br />	            {strip}<br />。。。。。。。。。。。。。。<br />。。。。。。。。。。。。。。<br />{if $item->kind == "folder"}<br />	               	<td class="name"><p><a href="/Views/Regions/{$item->id}">{$item->name}</a></p></td><br />	               {elseif $item->type != "link"}<br />	               	<td class="name"><p><a href="/Regions/Files/Download/{$item->id}">{$item->name}</a></p></td> <br />	               {else}<br />	               	                              {$link_content=""}<br />	               	                              {$this_id=$item->id}<br />												  {$search_link_query="select * from archive.file where id='$this_id'"}<br />												  {$con = mysqli_connect("localhost","root","root")}<br />												  {$result = mysqli_query($con,$search_link_query)}<br />												  {mysqli_close($con)}<br />												  {$row=mysqli_fetch_row($result)}<br />                                                  {$link_content=$row[8]}<br />												  <br />					<td class="name"><p><a href="{$link_content}" target="_blank">{$item->name}</a></p></td><br />	               {/if}<br />........................<br />...........................<br />    {/strip}<br />	            {/foreach}<br /><br />


奇怪的问题发生了,网页功能显示的完全正确,但在表格上方出现若干“1”。我一句一句删除代码并检测,发现{$con = mysqli_connect("localhost","root","root")}产生了“1”。只要删除这句话,就没有1产生、出现出错信息;如果不删除这句话而删除后面的代码,则有1,且后面出现出错信息。

大牛们,这个是咋回事情?我该如何修改呢?
其实我很想把这部分代码放到后端文件中去,但这里一个关键变量$item->id是在循环中读取的,我后面没有办法多次读取、并搜索该条记录中的关键词content中的值,且返回到tpl文件中去显示出来。

该如何处理呢?请大牛们赐教啊。
------解决方案--------------------
这个可以写在PHP里面,然后用用标签替换掉啊,在模板里面写什么连接数据库呢?
------解决方案--------------------
还是改你php吧 吧要添加的内容循环添加进去 页面直接调用就行了
------解决方案--------------------
模板中不要写逻辑代码,尽量都写到php中去。

引用
2.smarty模板中前端的循环,如果与后端php代码处理动态的进行数值传输呢?
我需要把每次循环中的关键变量传到后端,经过处理后又把结果返回该循环中呢,并且在该次循环中显示php传送过来的值。如果做到呢?
交互不外乎两种,form提交到后端,或者ajax传值。
------解决方案--------------------
这是没有问题的
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn