TP框架---thinkphp查询和添加数据
查询
<?php
namespace Admin\Controller;
use Think\Controller;
class MainController extends Controller
{
public function showList()
{
echo "大苹果商城";
} public function test()
{
//数据访问
//造模型对象
//$nation = D("Nation");//连接数据库中的Nation表 //查询
//$a = $nation->select();//查询所有,返回关联数组,也是二维数组。
//$a = $nation->select("n001,n002,n003");//通过主键值查,注意写法。 //$a = $nation->find();//查一条数据,返回一维数组。
//$a = $nation->find("n001");//按照条件查询 //$a = $nation->where("name='汉族'or name='回族'")->select();//where()只能写查询条件。select才会输出,select返回的是二维数组。这种操作称为连贯操作 //$a = $nation->table("info")->select();//table切换其它表格查询表格信息。上面虽然是链接的Nation表,这里切换到info表格。 //$a = $nation->field("code")->select();//查询指定字段,这里查询的是code列,多个字段中间用,分隔。 //$a = $nation->order("code desc")->select();//code按照降序排列 //$a = $nation->limit(3)->select();//查询前3条数据,limit分页查询。
//$a = $nation->limit(3,4)->select();//跳过3条显示4条 //$a = $nation->page(2,3)->select();//page中第一个参数是第几页,第二个参数是几条数据。这里是取第2页的3条数据。 //$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();//having条件查询 //$a = $nation->field("Info.code,Info.name as 'name',nation.name as '民族'")->join("Info on Nation.code=Info.Nation")->select();//用join连接的时候前面的field的列要加上别名,不然会出问题。 //$a = $nation->table("car")->distinct(true)->field("brand")->select();//distinct去重 //$a = $nation->where("code='n003'")->getField("name");//只能写列名,获取某一列的值。 //$a = $nation->count();//也可以放在连贯操作的最后用,求出数据量。 //$a = $nation->table("car")->max("price"); //使用原生的查询方法
//$sql = "select * from nation";
//$a = $nation->query($sql);//查询语句还是按照原来的调用方法。 //$sql = "update nation set name='矮人族' where code='n001'";
//$a = $nation->execute($sql);//增、删、改语句用execute调用。 //var_dump($a);
}
}
添加
<?php
namespace Admin\Controller;
use Think\Controller;
class MainController extends Controller
{
public function showList()
{
echo "大苹果商城";
} public function test()
{
$nation = D("Nation");//连接数据库中的Nation表 //数据添加
//1.使用数组添加,数组必须为关联数组,索引为列名。
//$attr = array("Code"=>"n090","Name"=>"虫族");
//$nation->add($attr); //2.AR方式实现数据添加
//$nation->Code = "n030";
//$nation->Name = "朝鲜族";
//$nation->add();
//$this->redirect('New/category', array('cate_id' => 2), 5, '页面跳转中...');//上面的用法是停留5秒后跳转到New模块的category操作,并且显示页面跳转中字样,重定向后会改变当前的URL地址。 } public function zhuCe()
{
//3.自动收集表单(非常好用的一点)
//要实现2个逻辑
//(1)显示注册页面
//(2)向数据库添加内容
if(empty($_POST))
{
$this->show();
}
else
{
//自动收集表单
$n = D("Nation");
$n->create();//自动收集表单的写法。前提是必须有post数组才能用create方法收集到。表单的name必须是数据库的列名。 //$n->sex = "";//需要处理的列单独拿出来处理,比如nation表中男女存的是布尔型数据1和0,而用户在填写表单的时候输入的是男或女,在这里单独修改一下,男=1,女=0. $z = $n->add();
if($z)//success和error方法的第一个参数表示提示信息,第二个参数表示跳转地址,第三个参数是跳转时间(单位为秒)。
{
$this->success("添加成功","zhuCe");//如果成功先输出这一句话,再跳转到zhuCe方法。
}
else
{
$this->error("添加失败");//错误页面的默认跳转页面是返回前一页,通常不需要设置
}
} } public function canShu($b=0)//注意不能使用a、c、m、s传值,这里给变量一个默认值,防止报错。
{
//$id = $_GET["id"];
//echo "$id";
echo $b;
}
}
TP框架---thinkphp查询和添加数据的更多相关文章
- TP框架---thinkphp基础知识
php框架 发瑞 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困 ...
- 第九十九天上课 PHP TP框架 数据库查询和增加
在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...
- TP框架---thinkphp表单验证
自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面 ...
- tp框架之查询
//数据访问 //造模型对象 $nation = D("Nation"); //查询 //$a = $nat ...
- PHP--TP框架----把查询到的数据,显示在模型(模板)里面
MainController.class.php <?php namespace Home\Controller; use Think\Controller; class MainControl ...
- TP框架---thinkphp使用ajax
thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 一.thinkphp使用ajax返回数 ...
- TP框架---thinkphp模型
1.获取系统常量信息的方法:在控制器DengLuController里面下写入下面的方法,然后调用该方法. public function test() { //echo "这是测试的&qu ...
- TP框架---thinkphp中ajax分页
//点击类别后要显示的内容 public function pagechuli3()//这个方法的功能是根据ajax传过来的值查询数据,再将查询出来的数据返回到ajax,返回的默认是JSON类型. { ...
- Farseer.net轻量级开源框架 入门篇:添加数据详解
导航 目 录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 分类逻辑层 下一篇:Farseer.net轻量级开源框架 入门篇: 修改数据详解 ...
随机推荐
- html5---音频视频基础一
//html5 音频和视频 :标签 a: audio,video b: source :视频容器 a:容器文件,类似于压缩了一组文件 -音频轨道 -视频轨道 -元数据:封面,标题,字幕等 -格式:.a ...
- A Wasserstein Distance[贪心/模拟]
链接:https://www.nowcoder.com/acm/contest/91/A来源:牛客网 最近对抗生成网络(GAN)很火,其中有一种变体WGAN,引入了一种新的距离来提高生成图片的质量.这 ...
- Codeforces 906D Power Tower(欧拉函数 + 欧拉公式)
题目链接 Power Tower 题意 给定一个序列,每次给定$l, r$ 求$w_{l}^{w_{l+1}^{w_{l+2}^{...^{w_{r}}}}}$ 对m取模的值 根据这个公式 每次 ...
- POJ 1961 Period KMP算法之next数组的应用
题意:给一个长度为n的字符串,如果它长度为l(2 <= l <= n)的前缀部分是由一些相同的字符串相接而成,输出前缀的长度l和长度为l时字符串重复的最大次数. 例如字符串为: aaaba ...
- [LeetCode] 1.Two Sum 两数之和分析以及实现 (golang)
题目描述: /* Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- HDU1087上升子序列的最大和
解法一 此题是一个简单的动态规划问题,用dp[i]记做最后一步经过第i个数所得到的最大sum值,则结果=max(dp[i]),i=1,...n.考虑dp[i]的前一步会经过那里?假设dp[i]的前一 ...
- 规划设计系列3 | SketchUp+实景三维,方案现状一起看
将SketchUp中建立的模型与实景三维模型进行集成,既可以充分发挥实景三维在地理空间记录方面的优势,又可以去除SketchUp在周边环境设计上的不足. 同时借助Wish3D Earth丰富的场景浏览 ...
- OpenCV3.1使用SIFT
待完善... Opencv3.1.0+opencv_contrib配置及使用SIFT测试
- hdu3591The trouble of Xiaoqian 多重背包+全然背包
//给出Xiaoqian的钱币的价值和其身上有的每种钱的个数 //商家的每种钱的个数是无穷,xiaoqian一次最多付20000 //问如何付钱交易中钱币的个数最少 //Xiaoqian是多重背包 / ...
- 海量数据插入数据库效率对照測试 ---ADO.NET下SqlBulkCopy()对照LINQ 下InsertAllOnSubmit()
摘要:使用.NET相关技术向数据库中插入海量数据是经常使用操作.本文对照ADO.NET和LINQ两种技术.分别使用SqlBulkCopy()和InsertAllOnSubmit()方法进行操作. 得出 ...