TP框架学习(二)

简单的增删改查

  1 1.创建一个index.php文件
  2         定义应用App目录名
  3         导入窗口入口文件
  4         开启调试模式//出现错误会报告出错的详细信息
  5         define("APP_DEBUG",true);//上线时要关闭的
  6     2.前端后台
  7         App内Home复制一份,重命名Admin后台模块
  8         如果有手机端可再复制一份Api模块
  9     3.修改Admin/Controller/IndexController.class.php文件
 10         namespace Admin\Controller;
 11         public function index(){
 12             echo "<h2>网站后台</h2>";
 13         }
 14     4.进入ThinkPHP/Conf/covention.php
 15         找到DB数据库设置(前7个)cp到App/Common/Conf/config.php
 16         显示页面Trace信息    ‘SHOW_PAGE_TRACE‘=>true;    //出错时页面右下角会有一个显示信息
 17
 18     5.进入APP/Home/Controller/IndexController.class.php
 19     class XXXX{
 20         public function index(){
 21             echo "<h2>TP框架————前台</h2>";
 22             $url=U("Admin/Index/index");
 23             echo "<h3><a href=‘{$url}‘>1.进入网站后台</a></h3>";
 24
 25             $url=U("Index/demo1");
 26             echo "<h3><a href=‘{$url}‘>2.册数数据库连接</a></h3>";
 27
 28             $url=U("Stu/index");
 29             echo "<h3><a href=‘{$url}‘>3.学生信息管理</a></h3>";
 30
 31
 32         }
 33         //测试数据库连接方法
 34         public function demo1(){
 35             //实例化Stu表信息操作对象
 36             $mod = new \Think\Model("Stu");
 37
 38             $list = $mod->select();
 39
 40             var_dump($list);//能出数据说明连接成功
 41             //dump($list); TP框架带的一个函数,和var_dump()一样
 42         }
 43
 44     }
 45
 46     6.进入App\Home\Controller
 47         创建StuController.class.php
 48         //学生信息控制类
 49         namespace Home\Controller;    //空间
 50
 51         use \Think\Controller;        //位置
 52
 53         class StuController extends Controller {    //继承
 54             //浏览信息
 55             public function index(){
 56                 $mod=new \Think\Model("Stu");
 57
 58                 //查询并放置模板中
 59                 $this->assign("list",$mod->select());
 60
 61                 //加载模板输出(渲染)
 62                 $this->display(index);//加载Stu/index.html模板
 63             }
 64
 65             //加载添加表单
 66             public function add(){
 67                 $this->display("add");
 68
 69             }
 70
 71             //执行添加
 72             public function insert(){
 73                 $mod=new \Think\Model("Stu");
 74
 75                 //执行添加
 76                 $mod->create();//执行封装
 77                 $m=$mod->add();//执行添加
 78
 79                 //判断
 80                 if($m>0){
 81                     //成功跳转
 82                     $this->success("添加成功!",U("Stu/index"));
 83
 84                 }else{
 85                     //失败默认跳转前一页
 86                     $this->error("添加失败!")
 87                 }
 88             }
 89
 90             //执行删除
 91             public function del(){
 92                 $mod= new \Think\Model("Stu");
 93
 94                 //执行删除
 95                 $m=$mod->delete($_GET[‘id‘]);
 96                 //判断
 97                 if($m>0){
 98                     //成功跳转
 99                     //$this->success("删除成功!",U("Stu/index"));
100                     //如果觉得跳转页不好看修改:ThinkPHP\Tpl\dispatch_jump.tpl可以自己设计
101
102
103                     //直接跳
104                     $this->redirect("Stu/index");
105                     //$this->redirect(U("Stu/index"));
106
107                 }else{
108                     //失败默认跳转前一页
109                     $this->error("删除失败!")
110                 }
111             }
112
113             //加载修改表单
114             public function edit(){
115                 $mod=new \Think\Model("Stu");
116
117                 //获取要修改的信息
118                 $this->assign("vo",$mod->find($_GET[‘id‘]+0));
119                 $this->display("edit");
120             }
121
122             //执行修改信息
123             public function update(){
124                 $mod=new \Think\Model("Stu");
125
126                 //执行添加
127                 $mod->create();//执行封装(将POST中的信息放置到mod对象中)
128                 $m=$mod->save();//执行修改
129
130                 //判断
131                 if($m>0){
132                     //成功跳转
133                     $this->success("修改成功!",U("Stu/index"));
134
135                 }else{
136                     //失败默认跳转前一页
137                     $this->error("修改失败!")
138                 }
139             }
140
141         }
142         6.1找到App/Home/View/stu
143             编写html首页index.html
144
145             加载通用目录栏<include file="stu/menu" />
146
147             遍历信息
148             <foreach name="list" item="vo">
149                 <tr>
150                     <td>{$vo.id}</td>
151                     <td>{$vo.name}</td>
152                     <td>{$vo.sex}</td>
153                     <td>{$vo.age}</td>
154                     <td>{$vo.classid}</td>
155                     <td>
156                         <a href="__URL__/del/id/{$vo.id}">删除</td>
157                         <a href="">编辑</td>
158                     </td>
159                 </tr>
160             </froeach>
161
162         6.2 menu.html
163             <a href="__URL__/index">浏览信息</a>
164             <a href="__URL__/add">添加信息</a>
165         6.3 add.html
166             加载通用目录栏<include file="stu/menu" />
167             地址信息改为相应的魔术变量
168         6.4    edit.html
169             加载通用目录栏<include file="stu/menu" />
170             地址信息改为相应的魔术变量
171             性别:
172                 <eq name="vo.sex" value="m">checked</eq>
173                 <eq name="vo.sex" value="w">checked</eq>
时间: 2024-10-09 15:50:02

TP框架学习(二)的相关文章

Struts2框架学习(二) Action

Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器拦截请求,创建代理Action对象,执行方法,返回结果,界面跳转. 拦截器解析请求路径,获取Action的名称,到配置文件中查找action的完整类名,利用反射创建对象. 每请求一次,就创建一个对象,所以action是多例的,也是线程安全的. 2,关系 请求的路径和配置文件的对应关系: 配置文件中包

Android Afinal框架学习(二) FinalActivity 一个IOC框架

框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity FinalActivity是一个基础类,结合注解实现了,依赖注入(view的资源id,常用的监听器), 利用set方式注入 完全注解方式就可以进行UI绑定和事件绑定,无需findViewById和set event Listener 这个过程:initInjectedView>findViewById.set

TP框架学习(一)

www.thinkphp.cn TP官网 一个项目->应用->模块->[组->]控制器->方法(代码) TP框架:ThinkPHP 目录结构: Common核心公共函数目录 functions.php系统函数库 特点:用一个大写字母作为函数名.函数说明1.函数功能,2.参数,3.返回值. Conf核心配置目录 convention.php惯例配置 默认配置全是在这里配置. debug.php Lang核心语言包目录 Library框架类库目录 Behavior 行为的类库目录

TP框架基础 (二) ---空控制器和空操作

通过之前的学习我们知道了index.php是一个入口文件,如果没有这个入口文件的话,我们需要自己创建! [视图模板文件创建] 视图模板文件存放发位置在: 里面没有模板文件 如果我们想要访问Login控制器中的Login方法,首先我们要创建一个Login控制器对应的模板文件夹,该文件夹就对应着Login控制器: 然后在Login文件夹下再创建一个login.html的模板文件来对应Login控制器下的Login方法: 在login.html里面写入要显示的代码: 然后再次请求: [url地址大小写

Android 学习笔记之AndBase框架学习(二) 使用封装好的进度框,Toast框,弹出框,确认框...

PS:渐渐明白,在实验室呆三年都不如在企业呆一年... 学习内容: 1.使用AbActivity内部封装的方法实现进度框,Toast框,弹出框,确认框...   AndBase中AbActivity封装好了许多方法提供我们去使用,使得在使用的时候更加的方便,只需要传递相关参数即可..省去了我们自己使用基础的函数进行构造...   就好比进度框,Toast框,弹出框,确认框...这些基本的东西都在AndBase的AbActivity封装好了...我们只需要传递参数调用其中内部的方法就可以完成这些视

laravel框架学习(二)

在了解Laravel框架的基本结构之后,初步认识访问过程中路由的使用方法,以一套基本的学生信息增删改查来迅速学习框架开发. 首先了解几个目录文件作为开发的主要阵地: 1. /app/Http/routes.php 路由文件,一切访问从路由开始 2./app/Http/Controllers 控制器目录,我们写的控制器都放在该目录下 3./app/config Laravel配置文件夹一般修改.env文件 4./.env 经常修改配置的文件,数据库配置就在这里 5./public Laravel框

Hibernate框架学习(二)——api详解

一.Configuration对象 功能:配置加载类,用于加载主配置,orm元数据加载. 1 //1.创建,调用空参构造(还没有读配置文件) 2 Configuration conf=new Configuration(); 3 //2.读取指令配置文件=>空参加载方法,加载src下的hibernate.cfg.xml文件 4 conf.configure(); 5 6 //3.读取指定orm元数据(扩展),如果主配置中已经引入映射配置,不需要手动加载 7 //conf.addResource(

Castle ActiveRecord框架学习(二):快速搭建简单博客网站

一.数据库 1.数据表 Category:类别标签表(字段Type=1为类别,Type=2为标签) Category_Post:类别标签与文章中间表 Post:文章表 Comment:评论表 2.数据库关系图 3.简单说明 Category和Post表为多对多关系 Post和Comment表 为一对多关系 二.实体类 1.Category类: // 指定数据表,Lazy为延迟加载 [ActiveRecord("Category",Lazy=true)] public class Cat

actix rust actor 框架学习 二 ping actor demo 代码

以下是官方文档的学习,了解基本的actix actor 编程模型 项目初始化 cargo 创建 cargo new actor-ping --bin 效果 ├── Cargo.toml └── src    └── main.rs 添加依赖 cargo.toml 配置 [package] name = "actor-ping" version = "0.1.0" authors = ["rongfengliang <[email protected]