smarty简单应用实例

这篇文章主要介绍了smarty简单应用实例,简单介绍了smarty中数据库查询、数组遍历及调用模板显示数据的相关技巧,简单易懂,具有一定参考借鉴价值,需要的朋友可以参考下,本文讲述了smarty简单应用实例,分享给大家供大家参考,具体如下:

  1. <?php
  2. require 'smarty/libs/Smarty.class.php';
  3. $smarty = new Smarty;
  4. $smarty->template_dir="smarty/templates/templates";
  5. $smarty->compile_dir="smarty/templates/templates_c";
  6. $smarty->config_dir="smarty/templates/config";
  7. $smarty->cache_dir="smarty/templates/cache";
  8. $hello = "Hello World!";
  9. $smarty->compile_check = true;
  10. //$smarty->debugging = true;
  11. $smarty->debugging = false;
  12. $smarty->caching=true;
  13. $conn=mysql_connect("localhost", "root","root"); //打开MySQL服务器连接
  14. mysql_select_db("lava_guess"); //链接数据库
  15. mysql_query("set names utf8"); //解决中文乱码问题
  16. $sql_list="Select * from t_sys_msg Order by id desc limit 0,10";
  17. $result_list=mysql_query($sql_list); //执行sql语句,返回结果
  18. //把记录集转换为数组
  19. while($rs_list=mysql_fetch_array($result_list))
  20. {
  21. $msg_array[]=$rs_list;
  22. }
  23. $array[] = array("newsID"=>1, "newsTitle"=>"第1条新闻");
  24. $array[] = array("newsID"=>2, "newsTitle"=>"第2条新闻");
  25. $array[] = array("newsID"=>3, "newsTitle"=>"第3条新闻");
  26. $array[] = array("newsID"=>4, "newsTitle"=>"第4条新闻");
  27. $array[] = array("newsID"=>5, "newsTitle"=>"第5条新闻");
  28. $array[] = array("newsID"=>6, "newsTitle"=>"第6条新闻");
  29. $smarty->assign("newsArray", $array);
  30. $smarty->assign("hello",$hello);
  31. //赋值
  32. $smarty->assign("msglist",$msg_array);
  33. $smarty->display('index.tpl');
  34. ?>

模板文件:index.tpl

  1. <html>
  2. <head>
  3. <metahttp-equivmetahttp-equiv="Content-Type" content="text/html;charset=utf-8">
  4. <title>Smarty</title></head>
  5. <body>
  6. <hr>
  7. {$hello}
  8. <hr>
  9. {section name=loop loop=$msglist}
  10. id: {$msglist[loop].id}--{$msglist[loop].title}----{$msglist[loop].receiver}<br>
  11. {/section}
  12. <hr>
  13. {section name=loop loop=$newsArray}
  14. 新闻编号:{$newsArray[loop].newsID}<br>
  15. 新闻标题:{$newsArray[loop].newsTitle}<br><hr>
  16. {sectionelse}
  17. 对不起,没有任何新闻输入!
  18. {/section}

希望本文所述对大家基于smarty模板的php程序设计有所帮助。