tp框架的增删改查
首先,我们来看一下tp框架里面的查询方法:
查询有很多种,代码如下:
<?php
namespace Admin\Controller;
use Think\Controller;
class MainController extends Controller
{
public function showList()
{
echo "大苹果商城";
} public function test()
{
//数据访问
//造模型对象
$nation = D("Nation"); //查询
$a = $nation->select(); //查所有,返回关联数组 $a = $nation->select("n001,n002,n003"); //通过主键查 $a = $nation->find("n002"); //查一条数据 //连贯操作
$a = $nation->where("name='汉族' or name='回族'")->select(); //加条件 $a = $nation->table("Info")->select(); //切换表 $a = $nation->field("name")->select(); //查询指定字段 $a = $nation->order("code desc")->select(); //排序 $a = $nation->limit(3,3)->select(); //分页 $a = $nation->page(3,3)->select(); //分页 $a = $nation->table("Car")->field("Brand,avg(Price)")->group("Brand")->select(); //分组 $a = $nation->table("Car")->field("Brand,avg(Price)")->group("Brand")->having("avg(Price)>50")->select(); $a = $nation->alias('a')->field("b.Code as 'code',b.Name as 'name',a.name as '民族'")->join("Info b on a.Code=b.Nation")->select(); $a = $nation->table("car")->distinct(true)->field("brand")->select(); $a = $nation->where("code='n003'")->getField("name"); //获取某一列的值 $a = $nation->table("car")->sum(Price); //var_dump($a); $sql = "update nation set name='矮人族' where code='n001'";
$a = $nation->query($sql); //执行查询
$a = $nation->execute($sql); //执行其他操作
//var_dump($a);
}
}
然后,我们来看一下数据添加:
新建一个简单的登录界面html文件:
<html>
<head>
<meta content="text/html"; charset="utf-8" />
</head> <body>
<form action="__SELF__" method="post"> <!--这里的__SELF__方法是调用自身-->
<!--name值一定得是数据库的列名-->
<div>代号:<input type="text" name="code" /></div>
<div>民族:<input type="text" name="name" /></div>
<div><input type="submit" value="添加" /></div>
</form>
</body>
</html>
进行添加:
<?php
namespace Admin\Controller; //新建模块需要改模块名
use Think\Controller;
class MainController extends Controller
{
public function zhuCe()
{
//实现两个逻辑
//1.显示注册页面 2.向数据库添加内容 if(empty($_POST))
{
//显示页面
$this->show();
}
else
{
$n = D("rules");
$n->create(); //自动收集表单.前提是必须有post数据
//$n->Name = "hello"; //遇到布尔型数据取一列单独加判断处理
$z = $n->add(); if($z)
{
$this->success("添加成功","zhuCe");
}
else
{
$this->error("添加失败!");
}
} } public function canShu($id=0) //给默认值,不给参数也不会报用户所看不懂的错误。也比较安全
{
//$id = $_GET["id"];
//echo $id; //echo $id;
}
}
重定向(也就是说从一个方法跳到另一个方法):
$this->redirect('zhuCe', array(), 3, '页面跳转中...');
tp框架修改:
后台代码如下:
//主页面显示
public function zhuyemian()
{
$n = D("rules"); //造父类 $attr = $n->select(); //查询
$this->assign("n",$attr); //把查到的数据添加,取名n
$this->show(); //页面显示
} //前提要有一个html页面显示哦。
接下来主题来了:
//修改
public function xiugai($code="") //防止报错存默认值
{
$n = D("rules");
if(empty($_POST))
{
$rules = $n->find($code);
$this->assign("rules",$rules); //存入模版
$this->show(); //显示界面
}
else
{
$n->create();
$r = $n->save();
if($r)
{
$this->success("修改成功!","zhuyemian");
}
else
{
$this->error("修改失败!");
}
}
}
tp框架删除:
//删除
public function shanchu($code)
{
$n = D("rules");
$y = $n->delete($code);
if($y)
{
$url = U("zhuyemian");
$this->success("删除成功!",$url);
}
else
{
$this->error("删除失败!");
}
}
到这里tp框架的增删改查就结束了,再给打架拓展几个输出方法:
//系统变量的输出:
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
{$Think.cookie.name} // 输出$_COOKIE['name']变量 //常量输出
{$Think.const.MODULE_NAME}
//或直接使用
{$Think.MODULE_NAME} //配置输出
{$Think.config.db_charset}
{$Think.config.url_model} //语言变量
{$Think.lang.page_error}
{$Think.lang.var_error}
tp框架的增删改查的更多相关文章
- tp框架之增删改查
控制器 <?php namespace Home\Controller; use Think\Controller; class CeShiController extends Controll ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Entity - 使用EF框架进行增删改查 - 模型先行
模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...
- ssm 框架实现增删改查CRUD操作(Spring + SpringMVC + Mybatis 实现增删改查)
ssm 框架实现增删改查 SpringBoot 项目整合 一.项目准备 1.1 ssm 框架环境搭建 1.2 项目结构图如下 1.3 数据表结构图如下 1.4 运行结果 二.项目实现 1. Emplo ...
- FoxOne---一个快速高效的BS框架--生成增删改查
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题
最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...
- MybatisMapper 映射框架(增删改查 原始模式)
//增删改查 package TestDemo; import java.io.IOException; import java.io.InputStream; import java.util.Da ...
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
随机推荐
- localForage——轻松实现 Web 离线存储(转)
localStorage 能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据.IndexedDB 和 WebSQL 是异步的,速度快,支持大数据集,但他们的API 使用起来有点复杂.不仅 ...
- 在不损坏C盘的情况下为C盘扩容,适用于Win
2016年12月29日14:29:27 参考原文:http://jingyan.baidu.com/article/90808022a6c6b7fd91c80fc8.html 在不损坏磁盘的情况下给某 ...
- iOS代码规范
一.文档结构管理 1.建立Libraries文件夹,所有第三方库放入其中. 2.建立Utilities文件夹,自已封装的类放入其中. 3.建立Constants.h头文件,所有的常量定义于其中.Con ...
- theano .dimshuffle
.dimshuffle 改变输入维度的顺序,返回原始变量的一个view. 输入是一个包含 $[0,1,...,ndim-1]$ 和任意数目的 $'x'$ 的组合: 例如: $('x')$:将标量变成 ...
- css常用属性汇总
一.常用css属性 (1) *block(区块) 行高 line-height:数值 | inherit | normal; 字间距 letter-spacing: 数值 | inherit | no ...
- python中使用heapq查看最大与最小的N个元素列表
怎么从一个集合中获取最大或最小的N个元素列表? heapq模块有两个函数:nlargest() 和 nsmallest() 可以完美解决这个问题. In [39]: import heapq In [ ...
- Python Day15
JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. ...
- MySql 小记
MySql 简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- 原生JS会跳动的电子表
一个会跳动的电子表,源码--time.html 图片--img github地址:https://github.com/1056237661/practiceCode <!DOCTYPE h ...