smarty 模板只要就是实现分离效果所以每个功能都需要两个页面一个是 html 和 PHP 两部分组成
使用 smarty 模板要在 main 文件夹下面创建 login.php 文本,要用 smarty 模板首先引入入口文件,
- <?php
- include("../init.inc.php");
- //引入入口文件
- //var_dump($smarty);//
- $smarty->display("login.html");//用来在模板显示用户看到的内容
登录页面在 smarty 模板里的 templates 文件夹下创建要在模板里显示的 HTML 类型登录页面 login.html
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>
- 登录页面
- </title>
- </head>
- <body>
- <hi>
- 登录页面
- </hi>
- <form action="logincl.php" method="post">
- <!--form表单action要做的处理页面-->
- <div>
- 用户名:
- <input type="text" name="uid" />
- </div>
- <div>
- 密码:
- <input type="password" name="pwd" />
- </div>
- <input type="submit" value="登录" />
- </form>
- </body>
- </html>
登录的处理页面
- <?php
- include("../DBDA.php");
- $db = new DBDA();
- $uid = $_POST["uid"];
- $pwd = $_POST["pwd"];
- $sql = "select pwd from users where uid='{$uid}'";
- $mm = $db->StrQuery($sql);//返回字符串 里面是查到的密码
- if($mm==$pwd && !empty($pwd))//如果查到的密码等于用户给的并且用户给的不为空
- {
- header("location:main.php");//如果登录成功跳转到主页面
- }
- ?>
登录做完要做主页面要让主页面显示要查询数据库里的内容显示出来 main.php
- <?php
- include("../init.inc.php");
- include("../DBDA.php");
- $db = new DBDA();
- $sql = "select * from nation";//找数据库里nation表里的所有数据
- $arr = $db->Query($sql);//返回二维数组 现在$arr里有查到的所有数据
- $smarty->assign("shuju", $arr);//把查到的所有数据arr放到smarty模板里
- $smarty->display("main.html");//调用display方法 显示模板文件
在做 main.php 的 main.html 页面
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>
- 主页面把main.php里的内容拿过来用
- </title>
- </head>
- <body>
- <h1>
- 主页面
- </h1>
- <table width="100%" border="1" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- 代号
- </td>
- <td>
- 名称
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- </tr>
- <{foreach $shuju as $v}>
- <!--$v代表遍历出来的小数组-->
- <tr>
- <td>
- <{$v[0]}>
- </td>
- <!--代号-->
- <td>
- <{$v[1]}>
- </td>
- <!--名称-->
- <td>
- <a href="shanchu.php?code=<{$v[0]}>">
- 删除
- </a>
- </td>
- <td>
- <a href="xiugai.php?code=<{$v[0]}>">
- 修改
- </a>
- </td>
- <td>
- <a href="tianjia.php?code=<{$v[0]}>">
- 添加
- </a>
- </td>
- </tr>
- <{/foreach}>
- </table>
- </body>
- </html>
在做修改 xiugai.php
- <?php
- include("../init.inc.php");
- include("../DBDA.php");
- $db = new DBDA();
- $code = $_GET["code"];//根据传过来的主键值
- $sql = "select * from nation where code='{$code}'";
- $arr = $db->Query($sql);
- $smarty->assign("nation",$arr[0]);//取到民族 一维数组
- $smarty->display("xiugai.html");//用display方法显示模板文件
- ?>
做 xiugai.php 的显示文件 xiugai.html
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>
- 主页面把main.php里的内容拿过来用
- </title>
- </head>
- <body>
- <h1>
- 主页面
- </h1>
- <table width="100%" border="1" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- 代号
- </td>
- <td>
- 名称
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- </tr>
- <{foreach $shuju as $v}>
- <!--$v代表遍历出来的小数组-->
- <tr>
- <td>
- <{$v[0]}>
- </td>
- <!--代号-->
- <td>
- <{$v[1]}>
- </td>
- <!--名称-->
- <td>
- <a href="shanchu.php?code=<{$v[0]}>">
- 删除
- </a>
- </td>
- <td>
- <a href="xiugai.php?code=<{$v[0]}>">
- 修改
- </a>
- </td>
- <td>
- <a href="tianjia.php?code=<{$v[0]}>">
- 添加
- </a>
- </td>
- </tr>
- <{/foreach}>
- </table>
- </body>
- </html>
做分页
main.php 里面加分页信息
- <?php
- include("../init.inc.php");
- include("../DBDA.php");
- $db = new DBDA();
- //1.分也需要所有的数据总条数
- $sall = "select count(*) from nation";
- $zts = $db->StrQuery($sall);//方法执行会等于总条数
- include("../page.class.php");//分页的类文件
- $page = new page($zts,3);//2.每页显示3条
- //分页里的成员变量$page->limit
- $sql = "select * from nation ".$page->limit;//找数据库里nation表里的所有数据
- $arr = $db->Query($sql);//返回二维数组 现在$arr里有查到的所有数据
- $smarty->assign("fenye",$page->fpage());//分页信息注册到模板里
- $smarty->assign("shuju", $arr);//把查到的所有数据arr放到smarty模板里
- $smarty->display("main.html");//调用display方法 显示模板文件
main.html 里显示分页
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>
- 主页面把main.php里的内容拿过来用
- </title>
- </head>
- <body>
- <h1>
- 主页面
- </h1>
- <table width="100%" border="1" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- 代号
- </td>
- <td>
- 名称
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- </tr>
- <{foreach $shuju as $v}>
- <!--$v代表遍历出来的小数组-->
- <tr>
- <td>
- <{$v[0]}>
- </td>
- <!--代号-->
- <td>
- <{$v[1]}>
- </td>
- <!--名称-->
- <td>
- <a href="shanchu.php?code=<{$v[0]}>">
- 删除
- </a>
- </td>
- <td>
- <a href="xiugai.php?code=<{$v[0]}>">
- 修改
- </a>
- </td>
- <td>
- <a href="tianjia.php?code=<{$v[0]}>">
- 添加
- </a>
- </td>
- </tr>
- <{/foreach}>
- </table>
- <div>
- <{$fenye}>
- </div>
- <!--显示分页-->
- </body>
- </html>
添加查询条件
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>
- 主页面把main.php里的内容拿过来用
- </title>
- </head>
- <body>
- <h1>
- 主页面
- </h1>
- <form action="main.php" method="get">
- <!--条件查询-->
- <div>
- 名称:
- <input type="text" name="name" />
- <input type="submit" value="查询" />
- </div>
- </form>
- <table width="100%" border="1" cellpadding="0" cellspacing="0">
- <tr>
- <td>
- 代号
- </td>
- <td>
- 名称
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- <td>
- 操作
- </td>
- </tr>
- <{foreach $shuju as $v}>
- <!--$v代表遍历出来的小数组-->
- <tr>
- <td>
- <{$v[0]}>
- </td>
- <!--代号-->
- <td>
- <{$v[1]}>
- </td>
- <!--名称-->
- <td>
- <a href="shanchu.php?code=<{$v[0]}>">
- 删除
- </a>
- </td>
- <td>
- <a href="xiugai.php?code=<{$v[0]}>">
- 修改
- </a>
- </td>
- <td>
- <a href="tianjia.php?code=<{$v[0]}>">
- 添加
- </a>
- </td>
- </tr>
- <{/foreach}>
- </table>
- <div>
- <{$fenye}>
- </div>
- <!--显示分页-->
- </body>
- </html>
main.php
- <?php
- include("../init.inc.php");
- include("../DBDA.php");
- $db = new DBDA();
- //条件查询
- $tj = " 1=1 ";
- if(!empty($_GET["name"]))
- {
- $n = $_GET["name"];
- $tj = " name like '%{$n}%' ";
- }
- $ztj = " where {$tj}";//条数
- //1.分也需要所有的数据总条数
- $sall = "select count(*) from nation".$ztj;
- $zts = $db->StrQuery($sall);//方法执行会等于总条数
- include("../page.class.php");//分页的类文件
- $page = new page($zts,3);//2.每页显示3条
- //分页里的成员变量$page->limit
- $sql = "select * from nation ".$ztj.$page->limit;//找数据库里nation表里的所有数据
- $arr = $db->Query($sql);//返回二维数组 现在$arr里有查到的所有数据
- $smarty->assign("fenye",$page->fpage());//分页信息注册到模板里
- $smarty->assign("shuju", $arr);//把查到的所有数据arr放到smarty模板里
- $smarty->display("main.html");//调用display方法 显示模板文件
来源: http://www.bubuko.com/infodetail-1972171.html