ThinkPHP_1

Posted 把你的脸迎向阳光,那就不会有阴影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP_1相关的知识,希望对你有一定的参考价值。

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") 。再运行,这次终于把分页搞掂出来了!

以上是关于ThinkPHP_1的主要内容,如果未能解决你的问题,请参考以下文章

PHP大神告诉你:为什么要培养自己的编码规范

thinkphp__ROOT__、__PUBLIC__ 在哪个文件里定义的

ThinkPHP中的魔术方法

thinkphp路径引用问题

ThinkPHP解析ThinkPHP5创建模块

thinkphp表单提交问题