smarty循环遍历数据库表后在前台显示

1,smarty使用PDO方式循环遍历

<?php
//初始化
require ‘../libs/Smarty.class.php‘;
// require ‘chuan.php‘;
$smarty = new Smarty;

//配置
// $smarty->debugging = true;
$smarty->caching = false;
$smarty->force_compile=true;

//基本操作

function cc(){
try{
			$dbh = new PDO(‘mysql:host=localhost;dbname=sm‘, ‘root‘, ‘‘); 
			$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
			$dbh->exec(‘set names utf8‘); 

			/*查询*/  
			$stmt = $dbh->prepare(‘SELECT * FROM user‘);    
			$stmt->execute();    
            $arr = array();
			while($row = $stmt->fetch(PDO::FETCH_ASSOC))
			{       
			       $arr[]=$row ; 	   
			}   
            return $arr;

			// 现在运行完成,在此关闭连接
			$dbh = null;
			}catch(PDOException$e){  
			print"Error!:".$e->getMessage()."<br/>";  
			die();  
			}  
}

$smarty->assign(‘ids‘,cc());

//显示设置
$smarty->display(‘user.tpl‘);

2,前台显示

{config_load file="test.conf" section="setup"}
{include file="header.tpl" title=foo}
<table  border="1" cellspacing="0" cellpadding="0">
		<th>姓名</th>
		<th>地址</th>
		{foreach $ids as $color}
		<tr align="center">
			<td>{$color.name}</td>
			<td>{$color.info}</td>
         </tr>
		{/foreach}
</table>
{include file="footer.tpl"}

总结:这种操作方式摈弃了原始PHP把数据库连接放到页面去操作,类似JAVA的操作方式,在后台遍历数据库,把结果集RS放置在一个数组ARR里面,然后把ARR返还给方法,把方法赋予一个变量,前台进行循环取值;

这个JAVA很相似;

时间: 2024-10-10 09:22:57

smarty循环遍历数据库表后在前台显示的相关文章

jmeter循环读取数据库表中的数据

先创建一个jdbc请求 请求在结果树正确后,添加一个循环控制器,循环次数定义数据库表查询的数量 variables names设置为col,那么如下变量会被设置为: col_#=2 (总行数) col_1=第1列, 第1行 col_2=第1列, 第2行 添加一个计数器用来坐变量拼接 添加请求引用N,使用函数助手 查看结果 jdbc运行结果 查看循环读取的结果 原文地址:https://www.cnblogs.com/only-love-you-519920/p/9135006.html

在PHP中遍历数据库表中的数据

数据库中的数据: //1.分别将每一行的每一列遍历出来 //mysql_fetch_row()函数在每一次遍历后会将指针向后自动移动一个单位 while($row=mysql_fetch_row($result)){     echo "日期:".$row[0]."<br/>";     //row[i]该行的第几个字段(即第几列)    echo "姓名:".$row[1]."<br/>";} 输出结

django 删除数据库表后重新同步的方法

python manage.py sqlmigrate your_app_name 0001 把your_app_name换成自己的app名字即可看到框架自动生成的创建表sql语句,于是我就这样看到了sql语句.我直接在数据库中执行了该句sql命令手动创建了表,再启动应用,可以正常启动,问题解决. 虽然这个方法有些取巧吧,似乎还是没有解释问题的症结所在,但好在很实用地解决了问题. 原文地址:https://www.cnblogs.com/feiyueNotes/p/11007029.html

解决循环遍历 id重复 (后一张图片覆盖前一张图片) 的问题

2015年4月19日 天气晴(热) 错误写法一 当且仅当有多个siteCustomer时,id就会出现重复,故而写法有误 错误写法二 当且仅当有多个siteCustomer时,name是重复的,虽然页面没报错,但是都会显示出同一张图片,故而写法有误 正确写法 就算有多个siteCustomer,但是customerId故不相同,所以该写法无误,测试通过.

织梦调用已审核自定义表单在前台显示

查看自定义表单的表名 调用标签写法 {dede:loop table="dede_diyform1" sort="id" row="30" if="ifcheck=1"} <li>[field:name/] 在 [field:time/] 留言说:[field:msg/]</li> {/dede:loop} 标签说明 table="dede_diyform1" 表示自定义表单的表名

C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例

C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判定玩家是否有权限做出这种选择,然后才决定是否为玩家执行此选择.例如,<仙剑奇侠传>这款游戏,进入剧情"荷叶迷宫时",会要求玩家击碎迷宫里的5尊雕塑,如图5-12所示.但是击碎的前提是,玩家身上必须携带有"锤子".也就是说系统会遍历玩家身上所有的资源,如果有锤

《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

  先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面中有所体现,这里不再赘述,此篇文章主要介绍:我是如何通过js从前台获取数据,然后通过ajax技术向后台一般处理程序传递JSON,后台又是如何获取传来的JSON,并对JSON数据转换,然后将转换后的数据写入数据库的! 介绍这些步骤实现前,先说说自己的辛酸:絮叨辛酸,是因为为了实现这个功能,我真的用了很

通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中  先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面中有所体现,这里不再赘述,此篇文章主要介绍:我是如何通过js从前台获取数

帝国cms数据还原后提示数据库表不存在怎么解决?

下午,ytkah用帝国cms在wamp调试时发现了一个问题,还原备份好的数据后更新的页面提示数据库表不存在,查看了phpmyadmin分类的数据库表实际上是存在的,这个是怎么回事呢?重新搭建一个新站点还是这种情况. 在热心网友的帮助下总算知道原因了,原来是文件权限没设置好,e/data目录下文件权限要设置为读写权限,然后再更新数据库缓存,果然可以了