ThinkPHP php 框架学习笔记_php技巧

花了两个多钟在看 ThinkPHP 框架,不想太过深入的知道它的所有高深理论。单纯想知道怎么可以用起来,可以快捷的搭建一个网站。所以是有选择的看,二个钟后还是一头雾水。于是决定改变学习策略,上官方论坛看其它高人写的民间教程,果然比官方的通俗易懂多了。http://bbs.thinkphp.cn/forumdisplay.php?fid=6 (官方论坛)

  ThinkPHP 有很多函数通过参数拼凑的方式来组合SQL,如下:$list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows);虽然这样的拼凑的方式简化了我们 sql 语句,但这也要求我们要记住很多函数方法,我并不想去记太多这样的东西,觉得有时还不如直接写一条完整的 sql 来得简单。不知ThinkPHP里有没有直接写 sql 后执行select 查询的函数方法? 后来得知 Model.class.php 里面有一个方法 public function query($sql) 可以达到我想要的要求!在做分页时就是用query方法跳过了使用 findall 方法实现了分页功能。

  看了例子和教程都是对单表操作的,可很多情况下我们要用到多表联合操作。如多表联合查询,这个时候又应该怎样做呢?ThinkPHP 已经考虑到这个问题,已经很贴心的帮我们安排了关联查询和关联操作。这些我都嫌弃过于麻烦!其实灵活运用这个框架里面的一些基本的函数方法,就可以达到关联查询和关联操作。没必要记忆一大堆乱七八糟的东西。

  数据分页是经常要用到的一项功能,TP这方面做得还算挺简单。在网上找了一个教程( http://bbs.phpchina.com/thread-52813-1-1.html ),本以为参考这个教程写出一个TP分页程序应该很简单的事。没想到还是颇费了一番周折!

   ①     一开始是遇到 Fatal error:  Class 'Think' not found in….. 的错误提示,在网上找了一通才知道是缺少了一个扩展类库。后来在官方网站下载了相应的文件。

   ②     扩展类库有了,没提示错误了,可还是不能正确显示出想要的结果!查看“页面Trace信息”,原来是SQL有问题 SELECT COUNT() AS tp_count FROM `think_demo` LIMIT 1,分析得出教程的这句$count = $test->count('','id') 代码有问题,改成 $count = $test->count('id') 终于看到上一页下一页的超链接了。尽信书不如无书!

   ③     用教程的 $list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows); 这句代码我怎么也得不到想要的结果,我也不想去深入了解 findall 方法的各个参数的使用方法。于是改成 $list = $test->query("select $fields from think_demo order by id desc limit $p->firstRow,$p->listRows") 。再运行,这次终于把分页搞掂出来了!

时间: 2024-08-02 23:59:58

ThinkPHP php 框架学习笔记_php技巧的相关文章

PHP图形操作之Jpgraph学习笔记_php技巧

本文实例讲述了PHP图形操作之Jpgraph学习笔记.分享给大家供大家参考,具体如下: 一.Jpgraph安装配置 下载Jpgraph安装包 解压后放置磁盘中,(最好是放在和网页一起) 修改php.ini文件: 1.内存  memory_limit=X,至少为32M 2.执行时间  max_execution_time=X,对于复杂的图片加载时需要较多的时间,根据图片的复杂度做相应的修改 3.缓存  output_buffering  注释掉缓存,便于调试 二.使用Jpgraph创建图形的基本步

php正则表达式学习笔记_php技巧

php正则表达式学习笔记分享: 1.创建正则表达式 $regex = '/\d/i'; 与JavaScript中的第一个方式有点像,只是这里的话是个字符串.  2.正则表达式中的特殊字符 特殊字符有:   . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - 3.正则表达式中的函数 有8个方法,preg_match与preg_match_all,preg_replace与preg_replace_callback,preg_grep.preg_split.preg_l

PHP Cookie学习笔记_php技巧

什么是Cookie Cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制.简单地说,Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取.当用户再次访问Web网站时,网站通过读取Cookies文件记录这位访客的特定信息(如上次访问的位置.花费的时间.用户名和密码等),从而迅速作出响应,如在页面中不需要输入用户的ID和密码即可直接登录网站等. 文本文件的命令格式如下: 用户名@网站地址[数字].txt  Cookie的功能 Web服务器可以应用Co

php之Memcache学习笔记_php技巧

1.win下安装,memcached -d installwin下启动,memcached -d start关闭,memcached -d stop 1_1.三种方式访问memcachememcachememcachedphp (不依赖于扩展socket操作) 2.memcache扩展(函数)===访问缓存系统.安装memcache扩展(C编译的动态链接库)  ;启用memcache扩展extension=php_memcache.dll 3.服务端启动memcached服务 4.PHP中定义类

php之CodeIgniter学习笔记_php技巧

在使用数据库之前,我们最好将数据库进行自动连接:config/autoload.php自动加载 $autoload['libraries'] = array('database');一些常用函数 选择数据$this->db->select();允许你在SQL查询中写 SELECT 部分.$this->db->where();$this->db->or_where();$this->db->where_in();允许你在SQL查询中写 WHERE部分,其余各种

PHP之变量、常量学习笔记_php技巧

有关变量的传地址赋值 PHP 3 中,变量总是传值赋值.PHP 4 提供了另外一种方式给变量赋值:传地址赋值.使用传地址赋值,即简单地追加一个(&)符号到将要赋值的变量前(源变量).这意味着新的变量简单的引用了原始变量,改动新的变量将影响到原始变量,反之亦然. <?php $foo = 'Bob'; $bar = &$foo; $bar = "My name is $bar"; echo $bar; echo $foo;  ?>  变量foo只在首行被赋值,

CI框架学习笔记(二) -入口文件index.php_php实例

上一节(CI框架学习笔记(一) - 环境安装.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1. 设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch case代码块中,对设定的环

整理Javascript基础入门学习笔记_javascript技巧

了解什么是变量? 变量是用于存储信息的容器 变量的声明 语法: var  变量名变量名 = 值; 变量要先声明再赋值 变量可以重复赋值变量的命名规则 变量必须以字母开头: 变量也能以$和_符号开头(不过我们不推荐这么做): 变量名称对大小写敏感(a和A是不同的变量). 1.语句 语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾. 有个好的编码习惯,都要以 ; 结尾 2.数据类型 在JavaScript中,一段信息就是一个值(value).值有不同的类型,大家最熟悉的类型是数字.字符串(

bootstrap基础知识学习笔记_javascript技巧

在此就不做 bootstrap 的介绍了,近几年 bootstrap 越来越流行,一点不亚于 js 中的 jquery. 以下为 bootstrap 3.3.5 学习中记录的东西,方便查阅,作者使用的是 jsp ,跟 html 可能有稍许不同,请自行参考修改 [引用文件] [页面引用] 路径请自行规划 <script type="text/javascript" src="<%=path%>/js-lib/jquery/jquery-1.11.2.min.j