2016/05/05 smarty 增 删 改

共  八个页面

①login.php

1 <?php
2 include("init.inc.php");
3
4 $smarty->display("login.html");
5  ?>

②login.html  显示模板  在templates模板文件夹中

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <h1>登录页面</h1>
 9     <form action="chuli.php" method="post">
10         <div>用户名:<input type="text" name="uid"></div>
11         <div>密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" name="pwd"></div>
12         <div><input type="submit" value="登录"></div>
13     </form>
14 </body>
15 </html>

③chuli.php

 1 <?php
 2 session_start();
 3 $uid=$_POST["uid"];
 4 $pwd=$_POST["pwd"];
 5 include("DBDA.php");
 6 $db=new DBDA();
 7
 8 $sql="select count(*) from users where username=‘{$uid}‘ and password=‘{$pwd}‘";
 9
10 $result=$db->StrQuery($sql,1,"mydb2");
11 if ($result==1) {
12     $_SESSION["uid"]=$uid;
13     header("location:main.php");
14 }
15
16 else{
17     header("location:login.php");
18 }
19
20  ?>

④main.php

 1 <?php
 2 session_start();
 3
 4
 5 include("init.inc.php");
 6 include("DBDA.php");
 7
 8 $db=new DBDA();
 9
10
11
12 if (!empty($_SESSION["uid"])) {
13     ;
14     $sqlf="select * from news";
15     $attr=$db->Query($sqlf,1,"mydb");
16
17     $smarty->assign("news",$attr);
18
19     $smarty->assign("jsurl","./js/jquery-1.11.2.min.js");
20     $smarty->display("main.html");
21 }
22
23 else{
24     header("location:login.php");
25 }
26  ?>

⑤main.html  显示模板  在templates模板文件夹中

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6     <script src="<{$jsurl}>"></script>
 7     <style type="text/css">
 8     .fu
 9     {
10         width:360px;
11
12         background-color: yellow;
13         position: absolute;
14     }
15
16     </style>
17 </head>
18 <body>
19     <h1>主页面</h1>
20     <table style="position:absolute" width="100%" border="1" cellpadding="0" cellspacing="0">
21         <tr>
22             <td>编号</td>
23             <td>标题</td>
24             <td>内容</td>
25             <td>时间</td>
26             <td>类型</td>
27             <td>操作</td>
28         </tr>
29         <{foreach $news as $guo}>
30
31         <tr>
32
33             <td><{$guo[0]}></td>
34             <td class=‘dq‘ bs=‘<{$guo[1]}>‘><{$guo[1]|truncate:20}></td>
35             <td><{$guo[2]|truncate:40}></td>
36             <td><{$guo[3]}></td>
37             <td><{$guo[4]}></td>
38             <td><a href="shanchu.php?code=<{$guo[0]}>">删除</a></td>
39         </tr>
40         <{/foreach}>
41     </table>
42 </body>
43 <script type="text/javascript">
44 $(document).ready(function(e){
45
46     $(".dq").mouseover(function(e){
47         var top=e.clientY;  //获取鼠标位置
48         var name=$(this).attr("bs");
49         var div="<div class=‘fu‘ style=‘top:"+top+"px;left:100px‘>"+name+"</div>";
50         $(".fu").remove();
51         $("body").append(div);
52     })
53     $(".dq").mouseleave(function(e){
54         $(".fu").remove();
55     })
56 });
57
58 </script>
59 </html>

⑥shanchu.php

 1 <?php
 2 $code=$_GET["code"];
 3 include("DBDA.php");
 4 $db=new DBDA();
 5
 6 $sqls="delete from news where ids=‘{$code}‘";
 7
 8 $db->Query($sqls,0,"mydb");
 9
10 header("location:main.php");
11
12  ?>

⑦init.inc.php   (smarty.class.php 核心的配置文件/在libs文件夹下)需要应用smarty模板的php  页面引入

 1 <?php
 2
 3 define("ROOT",str_replace("\\","/",dirname(__FILE__)).‘/‘); //常量ROOT中指定项目根目录
 4
 5 //echo str_replace("\\","/",dirname(__FILE__))."/";
 6
 7 require ROOT.‘libs/Smarty.class.php‘; //加载Smarty类文件
 8
 9 $smarty = new Smarty(); //实例化Smarty对象<br>
10
11
12 //$smarty -> auto_literal = false; //就可以让定界符号使用空格
13 $smarty->setTemplateDir(ROOT.‘templates/‘); //设置所有模板文件存放位置
14 //$smarty->addTemplateDir(ROOT.‘templates2/‘); //添加一个模板文件夹
15 $smarty->setCompileDir(ROOT.‘templates_c/‘); //设置编译过的模板存放的目录
16
17 $smarty->addPluginsDir(ROOT.‘plugins/‘); //设置为模板扩充插件存放目录
18 $smarty->setCacheDir(ROOT.‘cache/‘); //设置缓存文件存放目录
19 $smarty->setConfigDir(ROOT.‘configs/‘); //设置模板配置文件存放目录
20
21 $smarty->caching = false; //设置Smarty缓存开关功能
22 $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
23 $smarty->left_delimiter = ‘<{‘; //设置模板语言中的左结束符
24 $smarty->right_delimiter = ‘}>‘; //设置模板语言中的右结束符
25
26
27
28
29
30 ?>

⑧DBDA.php    (query方法查询输出数组,StrQuery方法查询输出字符串,显示时需要拆)

  1 <?php
  2
  3 class DBDA
  4 {
  5     public $host = "localhost"; //服务器地址
  6     public $uid = "root"; //数据库的用户名
  7     public $pwd = "123"; //数据库的密码
  8
  9     //执行SQL语句,返回相应结果的函数
 10     //$sql是要执行的SQL语句
 11     //$type是SQL语句的类型,0代表增删改,1代表查询
 12     //$db代表要操作的数据库
 13     public function Query($sql,$type,$db)
 14     {
 15         //造连接对象
 16         $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
 17
 18         //判断连接是否成功
 19         !mysqli_connect_error() or die("连接失败!");
 20
 21         //执行SQL语句
 22         $result = $conn->query($sql);
 23
 24         //判断SQL语句类型
 25         if($type==1)
 26         {
 27             //如果是查询语句返回结果集的二维数组
 28             return $result->fetch_all();
 29         }
 30         else
 31         {
 32             //如果是其他语句,返回true或false
 33             return $result;
 34         }
 35     }
 36
 37     //Ajax调用返回JSON
 38     public function JsonQuery($sql,$type=1,$db="test2")
 39     {
 40         //定义数据源
 41         $dsn = "mysql:dbname={$db};host={$this->host}";
 42         //造pdo对象
 43         $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}");
 44
 45
 46         //准备执行SQL语句
 47         $st = $pdo->prepare($sql);
 48
 49         //执行预处理语句
 50         if($st->execute())
 51         {
 52             if($type==1)
 53             {
 54                 $attr = $st->fetchAll(PDO::FETCH_ASSOC);
 55                 return json_encode($attr);
 56             }
 57             else
 58             {
 59                 if($st)
 60                 {
 61                     return "OK";
 62                 }
 63                 else
 64                 {
 65                     return "NO";
 66                 }
 67             }
 68
 69         }
 70         else
 71         {
 72             echo "执行失败!";
 73         }
 74
 75
 76
 77     }
 78     //Ajax调用返回字符串
 79     public function StrQuery($sql,$type,$db)
 80     {
 81         //造连接对象
 82         $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db);
 83
 84         //判断连接是否成功
 85         !mysqli_connect_error() or die("连接失败!");
 86
 87         //执行SQL语句
 88         $result = $conn->query($sql);
 89
 90         //判断SQL语句类型
 91         if($type==1)
 92         {
 93             $attr = $result->fetch_all();
 94             $str = "";
 95             //如果是查询语句返回字符串
 96             for($i=0;$i<count($attr);$i++)
 97             {
 98                 for($j=0;$j<count($attr[$i]);$j++)
 99                 {
100                     $str = $str.$attr[$i][$j];
101                     $str = $str."^";
102                 }
103                 $str = substr($str,0,strlen($str)-1);
104                 $str = $str."|";
105             }
106             $str = substr($str,0,strlen($str)-1);
107
108             return $str;
109         }
110         else
111         {
112             //如果是其他语句,返回true或false
113             if($result)
114             {
115                 return "OK";
116             }
117             else
118             {
119                 return "NO";
120             }
121         }
122     }
123
124
125 }

显示效果:

登录:

经过 login.html  chuli.php  到达  main.php    通过main.html  模板显示出来

位于编号为1 的新闻   被   点击右侧  删除掉

main.html页面   传值

<td><a href="shanchu.php?code=<{$guo[0]}>">删除</a></td>

通过  shanchu.php  页面链接数据库  做删除动作

让缩略信息显示完整   通过js完成

 1 <script type="text/javascript">
 2 $(document).ready(function(e){
 3
 4     $(".dq").mouseover(function(e){
 5         var top=e.clientY;  //获取鼠标位置
 6         var name=$(this).attr("bs");
 7         var div="<div class=‘fu‘ style=‘top:"+top+"px;left:100px‘>"+name+"</div>";
 8         $(".fu").remove();
 9         $("body").append(div);
10     })
11     $(".dq").mouseleave(function(e){
12         $(".fu").remove();
13     })
14 });
15
16 </script>

时间: 2024-12-20 21:29:10

2016/05/05 smarty 增 删 改的相关文章

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform)让用户方便的操作数据库中的数据. 什么是ADO.NET 是一组库类,System.Data. Ado.net组成 Connection:用来连接数据库 Command:用来执行SQL语句 DataReader:只读.只进的结果集,一条一条读取数据(SteamReader.XmlReader) Da

ADO.NET 增 删 改 查

ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访问技术的基础 连接数据库基本格式:需要两个类1.数据库连接类 SqlConnection2.数据库操作类 SqlCommand 1.连接数据库写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密码string sql = "server=.(服务器i

Python---MySQL数据库之四大操作(增 删 改 查)

一.对数据库,表,记录---四大操作(增 删 改 查) 1.操作数据库 (1)对数据库(文件夹):进行增加操作 Create  database  库名; 例:  Create  database  db7 ; 查询库: show  databases; 结果: +-----------------------------+ | Database                   | +----------------------------+ | information_schema | |

oracle 11g 建库 建表 增 删 改 查 约束

一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create table 表名1( Tid number(4) --primary key 列级约束(主键), Tname varchar(10) --ont null  非空约束,只能定义在列级约束, Tsex varchar2(2)--check (tsex='男'  or  tsex='女') 检查约束, T

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet

SQL 增/删/改/查 (总结)

1.增 INSERT  INTO  表名  VALUES (" "," ") ; INSERT INTO 表名(字段)  VALUES(" "); 2. 删 DELETE   FROM 表名  WHERE  ... 3.改 UPDATE  表名 SET   ... WHERE  ... 4.查 SELECT × FROM  表名 ORDER BY ...

1-24.list的增,删,改,查

增: 1.append(通过元素增加,默认加在最后print(a.append('hgf'))) 2.extend( 迭代的去增,就是把字符串的字符逐个去给这个列表加上去) 3.insert((按照索引去增加,前为索引,后为增加的字) 删: 1,pop(通过位置索引去删除) 2.del (通过索引,切片删除) 3.clear(清空列表) 4.remove(通过元素去删除) #返回值是什么意思? 改: a[]='i' print() 查: for i in a: print(a) 其他列表 1.s

MyIbatis:存储过程(增,删,改,查)

参考资料 1 ibatis3.0存储过存的一些细节 http://blog.csdn.net/axman/archive/2010/03/05/5349349.aspx2 ibatis3.X如何调用Oracle存储过程定义的in数组 http://topic.csdn.net/u/20110125/20/ade11108-761e-4b2d-96c4-fae83907ea9f.html3 ibatis3调用存储过程 http://www.iteye.com/topic/5314564 ibati

php基础:数据库的含义和基本操作 增 删 改 查

//数据库是帮我们管理数据的一个软件,我们将数据给他,放进数据库里.他能很稳妥的帮我们管理起来,且效率很高.//php的大部分工作就是  php->连接数据库->写入数据->查出数据->格式化数据->显示出来,//数据库管理数据是以表的形式组成的,多行多列,表头声明好了,一个表创建好了,剩下的就是往里面添加数据 多张表放在一个文件夹里面就形成了库  mysql服务器帮我们管理多个库C:\wamp\bin\mysql\mysql5.6.12\data   数据库中的数据放在这个