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框架又有什么异同呢? 这个问题在我 ...
随机推荐
- Sensitive directory/file Integrity Monitoring and Checking
catalogue . OSSEC . HashSentry: Host-Based IDS in Python . Afick . 检测流程 1. OSSEC OSSEC is an Open So ...
- javascript操作字符串的方法
string.indexOf()//返回字符串中第一个与给定子串匹配的子串序号字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表 ...
- Linux创建WiFi热点
手机流量用完,需要开WiFi,由于是LinuxMint,感觉配置还算容易,找到一个不错的教程,收藏一下,以备后用.除了修改配置文件那步在我的电脑不需要外其他基本正确,而且Mint本来就衍生自Ubunt ...
- R 培训之 Table
res = read.table("ttest_expression.tsv",sep=",",header = TRUE)rownames(res)=res[ ...
- C#基础强化-进程操作
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- HTML <a> 标签的 target 属性
HTML <a> 标签的 target 属性 HTML <a> 标签 定义和用法 <a> 标签的 target 属性规定在何处打开链接文档. 如果在一个 <a ...
- JS,删除数据时候,多次确认后才删除。
function delfun(){ if(window.confirm("请仔细核对无误,删除本数据后不能恢复.")){ if(window.confirm("请再次确 ...
- 12月6日PHPCMS取内容发布管理中的来源
调取内容发布管理中的来源,如果直接写{$val['copyfrom']}调取出来的内容为 内容|0 ,要先根据"|"进行拆分,然后再写. 示例: <!--新闻开始--& ...
- XTREE随笔
1.XTREE简介: XTREE是一个基于AJAX实现的树形菜单.它的原理就是每次都只加载当前结点下的所有结点,而对开发人员来说,就是只需要按一定的格式,生成一段XML代码.XTREE可以自己定制每个 ...
- UV动画
[猫猫的Unity Shader之旅]之纹理映射 http://blog.csdn.net/dbtxdxy/article/details/46954417 [猫猫的Unity Shader之旅]之U ...