1. ====================================================
  2. 一、常用连贯操作
  3. 1.where
  4. 帮助我们设置查询条件
  5. 2.order
  6. 对结果进行排序
  7. $arr=$m->order('id desc')->select();
  8. $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select();
  9. 3.limit
  10. 限制结果
  11. limit(2,5)
  12. limit('2,5')
  13. limit(10)//limit(0,10)
  14. 4.field
  15. 设置查询字段
  16. field('username as name,id')
  17. field(array('username'=>'name','id')
  18. field('id',true) //获取除了id以外的所有字段
  19. 5.table
  20. 6.group
  21. 7.having
  22. 二、补充
  23. alias 用于给当前数据表定义别名 字符串
  24. page 用于查询分页(内部会转换成limit 字符串和数字
  25. join* 用于对查询的join支持 字符串和数组
  26. union* 用于对查询的union支持 字符串、数组和对象
  27. distinct 用于查询的distinct支持 布尔值
  28. lock 用于数据库的锁机制 布尔值
  29. cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述)
  30. relation 用于关联查询(需要关联模型扩展支持) 字符串
  31. validate 用于数据自动验证 数组
  32. auto 用于数据自动完成 数组
  33. filter 用于数据过滤 字符串
  34. scope* 用于命名范围 字符串、数组
  35.  
  36. 补充部分会在以后在详细探讨
  37.  
  38. 在定义一个类时,因为没有对类实例化(对象),因而也无法得知对象的具体名称是什么。
  39.  
  40. 这时,如果想调用类中的成员方法或成员变量,就只能通过伪变量$this调用,$this顾名思义就是指类本身,需要注意的一点是$this 只能在类内部使用。否则将出错
  41.  
  42. 类似perl 中的$self
  43. bless 引用 特定的包
  44.  
  45. perl 对象实现:
  46. bless 以一个普通的指向数据结构的引用为参数。它将会把那个数据结构(注意,不是引用本身)
  47.  
  48. 标记为属于某个特定的包,
  49.  
  50. <?php
  51. class UserAction extends Action{
  52. public function index(){
  53. echo "你好!";
  54. $m=M('user');
  55. $arr=$m->select();
  56. #var_dump($arr);
  57. $this->assign('data',$arr);
  58. $this->display();
  59.  
  60. }
  61.  
  62. public function del(){
  63. $m=M('user');
  64. ##删除具体id数据
  65. $id=$_GET['id'];
  66. $count=$m->delete($id);
  67. echo $count;
  68. if ($count>0){
  69. $this->success('数据删除成功');
  70. }else{
  71. $this->error('数据删除失败');
  72. }
  73. }
  74. //负责修改页面
  75. public function modify(){
  76. $id=$_GET['id'];
  77. $m=M('user');
  78. $arr=$m->find($id);
  79. $this->assign('data',$arr);
  80. $this->display();
  81. }
  82.  
  83. public function update(){
  84.  
  85. $m=M('user');
  86. $data['id']=$_POST['id'];
  87. $data['username']=$_POST['username'];
  88. $data['sex']=$_POST['sex'];
  89. $count=$m->save($data);
  90. if ($count>0){
  91. $this->success('数据修改成功','index');
  92. }else{
  93. $this->error('数据修改失败');
  94. }
  95.  
  96. }
  97.  
  98. public function add(){
  99.  
  100. $this->display();
  101. }
  102.  
  103. public function create(){
  104. $m=M('user');
  105. $m->id=$_POST['id'];
  106. $m->username=$_POST['username'];
  107. $m->sex=$_POST['sex'];
  108. $idnum=$count=$m->add();
  109. if ($idnum){
  110. $this->success('数据添加成功','index');
  111. #$this->success('数据添加成功');
  112. }else{
  113. $this->error('数据添加失败');
  114. }
  115.  
  116. }
  117.  
  118. public function search(){
  119. var_dump($_POST);
  120. // 获取POSTT的数据,根据数据组查询的条件,根据条件从数据库中获取数,
  121.  
  122. //返回给页面遍历
  123.  
  124. $m=M('user');
  125. if (isset($_POST['username']) && $_POST['username'] !=null ){
  126. $where['username']=$_POST['username'];
  127. };
  128. if (isset($_POST['sex']) && $_POST['sex'] !=null){
  129. $where['sex']=$_POST['sex'];
  130. };
  131. #$where['logic']
  132. echo $where['username'];
  133. echo $where['sex'];
  134. $arr=$m->where($where)->select();
  135. $this->assign('data',$arr);
  136. $this->display('index');
  137. }
  138. public function show(){
  139. $m=M('user');
  140. #$arr=$m->order('id asc')->select();
  141. $arr=$m->order('id asc')->limit(3,6)->field('username as name,id')->select();
  142. dump($arr);
  143. $this->display();
  144. }
  145.  
  146. }
  147.  
  148. ?>

11.ThinkPHP 3.1.2 连贯操作的更多相关文章

  1. ThinkPhp 3.2 数据的连贯操作

    ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...

  2. ThinkPHP框架模型连贯操作(八)

    原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where ...

  3. ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)

    1.Widget类的使用方法: 第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立) 第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWi ...

  4. ThinkPHP - 连贯操作

    /** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...

  5. thinkphp 3.2 部分数据库连贯操作phpstorm helper 文件

    <?php class Helper { /** * 用于设置数据写入和查询是否严格检查是否存在字段. * 默认情况下不合法数据字段自动删除,如果设置了严格检查则会抛出异常 * 如: * str ...

  6. thinkPHP--SQL连贯操作

    一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...

  7. 【转】PHP实现连贯操作

    [第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...

  8. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  9. Selenium-ActionChainsApi--鼠标连贯操作

    ActionChains UI自动化测试过程中,经常遇到那种,需要鼠标悬浮后,要操作的元素才会出现的这种场景,那么我们就要模拟鼠标悬浮到某一个位置,做一系列的连贯操作,Selenium给我们提供了Ac ...

随机推荐

  1. 瀑布流的三种实现方式(原生js+jquery+css3)

    前言 项目需求要弄个瀑布流的页面,用的是waterfall这个插件,感觉还是可以的,项目赶就没自己的动手写.最近闲来没事,就自己写个.大致思路理清楚,还是挺好实现的... 原生javascript版 ...

  2. HNU13028Attacking rooks (二分匹配,一行变多行,一列变多列)

    Attacking rooks Time Limit: 20000ms, Special Time Limit:50000ms, Memory Limit:65536KB Total submit u ...

  3. 内联函数 inline

    (一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...

  4. c++,命名空间(namespace)

    1.什么是命名空间: 命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来. 2.命名空间 ...

  5. Word中使用代码高亮插件

    Word中使用代码高亮插件 1.下载并安装:SyntaxHighlighter4Word.zip 解压,然后双击bin\word2010\Kong.SyntaxHighlighter.Word2010 ...

  6. linux 下搭建 ftp

    最近为了方便目标板与PC机上LINUX之间的通讯,就在LINUX搭建了FTP,工作不难,写个总结.主要经过以下几个步骤: 1.检查是否安装了vsftpd服务器 可以用rpm -q vsftpd命令来查 ...

  7. ThinkPHP快捷函数

    16个快捷函数用法 1.A() 实例化控制器  格式:[资源://][模块/]控制器A($name,$layer='',$level='')@param string $name 资源地址   @pa ...

  8. (Problem 2)Even Fibonacci numbers

    Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting w ...

  9. ubuntu12.04中如何设定中文输入法

    安装 ibus 终端输入:sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 启动 ibus 终端输入 :  im-s ...

  10. python模块 mysql-python安装(在ubuntu系统下)

    直接运行如下命令 sudo pip install MySQL-python 报如下错误 xxx@ubuntu:~$ sudo pip install MySQL-python Downloading ...