用户工具

站点工具


php:smarty:mysql-loop

Smarty处理mysql查询数组

MySQL的查询结果一般是一个数组,而不是所有结果集。因此我们需要将结果全部存到数组中进行处理,然后就可以很轻松的再Smarty中使用了。

PHP Mysql 代码

$sql="select article_id,article_title from tbl_article order by article_id desc limit 0,5";    
$result=mysql_query($sql);    
while($row=mysql_fetch_array($result))
{
  $record[]=array('id'=>$row['article_id'],'title'=>$row['article_title']);
}
$smarty = new Smarty;
$smarty->template_dir ="./template";
$smarty->compile_dir ="./templates_c";
$smarty->left_delimiter = "{<";//我自己自定义的可以避免与HTML冲突
$smarty->right_delimiter = ">}";  //我自己自定义的可以避免与HTML冲突
$smarty->assign('doclist',$record);
$smarty->display('index.tpl');

Smarty 模板代码

{<foreach from=$doclist item=curr_item>}
     <div><a href="show.php?id={<$curr_item.id>}">{<$curr_item.title>}</a></div>
{</foreach>}

这样就可以完美解决分页显示和模板的问题了。

php/smarty/mysql-loop.txt · 最后更改: 2014/05/26 13:40 (外部编辑)