ThinkPHP php 框架学习笔记
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这方面做得还算挺简单。在网上找了一个教程( ),本以为参考这个教程写出一个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") 。再运行,这次终于把分页搞掂出来了!
上一篇: 小红书,不够红
推荐阅读
-
Symfony2框架学习笔记之HTTP Cache用法详解_PHP
-
Laravel 5框架学习之Blade 简介,laravelblade_PHP教程
-
php框架 - thinkphp双项目,一个前台一个后台,访问不了admin项目的Login/login模块
-
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析_PHP
-
PHP学习笔记(三):数据类型转换与常量介绍,学习笔记常量_PHP教程
-
Laravel框架学习笔记(一)环境搭建_PHP
-
php 变量作用域学习笔记分享
-
php array的学习笔记
-
PHP学习笔记1-常量,函数,php学习笔记1-常量
-
php学习笔记之 函数声明_php基础