smarty数据库
A. 如何在smarty模板中输出我想显示的数据库中某一行的数据内容
为什么不在php里面就将数据提取出来呢
B. 怎么使用smarty连接数据库,和输出
要将php代码写成函数并且保存成function.xingmings.php放在目录里
<?php
function smarty_function_xingmings($params,&$smarty){
$uid = $params['uid']; //取参数 uid
$query = "SELECT * FROM member where uid=$uid";
$result = mysql_query($query) or die("Query failed : " . mysql_error());
$xingmingArr=array();
while($row = mysql_fetch_array($result))
{
$xingmingArr[] = $row['xingming'];
}
//将数组返回给模板
$smarty->assign($thexingmings,$xingmingArr);
}
?>
模板里的调用代码
{xingmings val="thexingmings" uid="26"}
{section name=i loop=$thexingmings}
姓名列表:{$thexingmings[i].xingming}<br>
{/section}
C. 用smarty(php)遍历Msql数据库的一个数据表并通过smarty模板显示
sql
SELECT u.name, u.class, c.number, c.floor
FROM user AS u
JOIN class AS c ON u.class = c.id
LIMIT 0 , 30
模版
<{foreach from=$allMsg item=msg}>
<div class="message" <{php}>
$i++;
if($i%2)
echo 'style="background:#FF1"';
<{/php}>>
<h1><{$msg.author}></h1>
<p><{$msg.connect}></p>
</div>
<{/foreach}>
简单的就是这样的,具体还得你自己再专去调属整.
D. php采用smarty模板,怎么从数据库里获取数据库实现二级级联菜单
你会用php页面实来现吗,
先用php实现二级嵌源套循环.
然后分别设两级循环为一变量
在smarty模板中调用循环变量,用模板的循环调用就可以了.
这个确实有些复杂,不太好说明白.
我知道200源码网上的很多产品都是这么实现的,产品都是用二级分类
E. 如何将从数据库中查询出的记录全部用smarty模板的{section}输出
1.index.php
你先把数据读出来
$result=mysql_fetch_array();//读数据
$smarty->assign('result',$result);
$smarty->display('index.tpl');
2.index.tpl
{section loop=$result name=n}
{$result[n]}
{/section}
大致是这样;细节内自己在容处理
F. smarty连接数据库
首先明确smarty是模板引来擎,和数据自库没什么关系,其次注意以下两点:
1、返回 Resource id 是因为返回了查询,而不是查询结果,查询结果有 fetch_array,fetch_object 或 num_rows 等。
2、运用PHP连接使用 mysql数据库 ,建议使用 Mysqli 或 Pdo 接口连接
G. php smarty中怎样才能把数据库中的内容和相对应的标题循环出来
你的意思是内容和标题一起循环出来。你没有提供代码。下面的可以做为参考:
PHP页面的代码
$query=$db->query("SELECT * FROM `newbase` where `hot`= 1 order by `time` desc limit 0,6");
while($row_news=$db->fetch_array($query)){
$sm_list[]=array("title"=>$row_news[title],"content"=>$row_news[content],"id"=>$row_news[id],"time"=>date("Y-m-d",$row_news[time]));
}
$smarty->assign("sm_list",$sm_list);
加载的HTML页面循环代码。
{section name=p loop=$sm_list}
<div class="newslist"><a href="news_show.php?id={$sm_list[p].id}">{$sm_list[p].title}</a>[{$sm_list[p].time}]</div>
<div class="newscontent">{$sm_list[p].content}</div>
{/section}
H. 怎样用smarty显示数据库图片
你怎么把图片放到数据库里了,文件系统读取图片的速度更高,在数据库里只要存储图片路径就可以了。然后<img src="{$array_new[new].logo}" />就行了!
I. smarty如何执行sql
举个例子:
require('../libs/SmartySQL.class.php');
$smarty=newSmartySQL(array('pdo_dsn'=>'mysql:dbname=db_name;host=localhost',
'pdo_username'=>'username',
'pdo_password'=>'password',
'pdo_driver_options'=>array()));
$smarty->display('index.tpl');
模板内容:
<tableborder="1">
<tr>
<td><b>ID</b></td>
<td><b>Name</b></td>
<td><b>E-Mail</b></td>
<td><b>Details</b></td>
</tr>
{foreachfrom=$resitem=isql="SELECTid,name,emailFROMcontacts"}
<tr>
<td>{$i.id}</td>
<td>{$i.name}</td>
<td>{$i.email}</td>
<td><ahref="?id={$i.id}">Info</a></td>
</tr>
{/foreach}
</table>
{if$smarty.request.id}
Userinfo:
{foreachfrom=$resitem=i
sql="SELECTid,name,emailFROMcontactsWHEREid={$smarty.request.id}"}
ID:{$i.id}<br/>
Name:{$i.name}<br/>
E-Mail:{$i.email}<br/>
{/foreach}
{/if}
数据库:
DROPTABLEIFEXISTScontacts;
CREATETABLEcontacts(
idINT(11)UNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'ID',
nameVARCHAR(255)NOTNULLDEFAULT''COMMENT'Name',
emailVARCHAR(255)NOTNULLDEFAULT''COMMENT'E-Mail',
PRIMARYKEY(id)
)ENGINE=InnoDBCHARACTERSET'utf8'COLLATE'utf8_unicode_ci'COMMENT='Usercontacts';
INSERTINTOcontactsVALUES
(1,'JohnDoe','[email protected]'),
(2,'MarySmith','[email protected]'),
(3,'JamesJohnson','[email protected]'),
(4,'HenryCase','[email protected]');
J. php smarty模板怎么把数据提交到数据库的
smarty 只是模版引擎,不做提交,你在模版上写好HTML代码然后提交到PHP上
基本上和没有使用模版引擎一样操作,模版引擎只是多了分离前后端