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框架又有什么异同呢? 这个问题在我 ...
随机推荐
- thusc2016游记&&滚粗记&&酱油记
#include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...
- hibernate入门案例
最近准备学ssh,今天学了一下hibernate,用的是hibernate4,现在已经出5了:配置文件很容易写错,写配置文件的时候尽量复制. 需要的jar包如下:(jar包我是直接放在项目工程里面了, ...
- linux下cetos7无线网络设置办法
首先检查是否安装了networkmanger wifi.RPM 检查方法,终端输入rpm一qa 如果不存在,利用rpm一ivh 文件名 进行安装,并且重启
- C语言变量类型和具体的范围
什么是变量?变量自然和常量是相对的.常量就是 1.2.3.4.5.10.6......等固定的数字,而变量则根我们小学学的 x 是一个概念,我们可以让它是 1,也可以让它是 2,我们想让它是几是我们的 ...
- p/invoke碎片--对数组的封送处理
因为数组是引用类型,所以数组的处理根据数组元素的类型是否为“可直接传递到非托管代码”的类型而分为两种情况.主要目标是看内存是怎么变化的,是复制还是锁定. 数组中的元素是"可直接传递到非托管代 ...
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
文件的hash指纹通常作为前端静态资源实现增量更新的方案之一,Webpack是目前最流行的开源编译工具之一,其强大的功能也带来很多坑(当然,大部分麻烦其实都可以在官方文档中找到答案). 比如,在Web ...
- 错误403,You don't have permission to access /index.html on this server.
再更改apache工程路径时候,按照许多教程改了httpd.conf文件,还是不行,问题依旧存在 解决方式,你的个人文件夹的权限还没改好,看一下自己的个人文件夹的权限,是否可以读写
- nginx_https
nginx使用ssl模块配置HTTPS支持 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引 ...
- 神经网络模型及R代码实现
神经网络基本原理 一.神经元模型 图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias ).则神 ...
- 移动端页面调试神器-browser-sync
最近公司赶一个项目,是mobile端,之前没怎么做过移动端的开发,这个项目算是个小尝试. 在做项目的过程中,用到了一个神器--browser-sync,在这里分享给大家. 1.静态页面调试 作为前端, ...