ThinkPHP php 框架学习笔记

时间:2023-09-10 08:20:32 

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

标签:ThinkPHP,php,框架
0
投稿

猜你喜欢

  • mysql仿oracle的decode效果查询

    2024-01-12 22:04:00
  • 详解如何在 Linux 中安装最新的 Python 3.6 版本

    2022-03-25 15:06:21
  • oracle 触发器 实现出入库

    2009-07-23 14:56:00
  • 浅析mysql.data.dll驱动各版本介绍

    2024-01-24 04:26:30
  • 对python的bytes类型数据split分割切片方法

    2021-01-07 03:09:14
  • 中国移动G3笔记本全Flash 网站

    2009-04-27 12:51:00
  • 网页版面布局的处理问题

    2008-06-05 12:32:00
  • 详解Python的单元测试

    2021-11-22 14:53:57
  • ubuntu下搭建Go语言(golang)环境

    2024-05-11 09:08:47
  • JavaScript判断浏览器运行环境的详细方法

    2024-04-22 12:53:28
  • js+css实现select的美化效果

    2024-04-16 09:52:25
  • PyQt5主窗口动态加载Widget实例代码

    2023-06-04 21:20:32
  • MySQL函数Locate的使用详解

    2024-01-17 22:59:41
  • vue之封装多个组件调用同一接口的案例

    2024-04-09 10:47:32
  • PLSQLDeveloper登录远程连接Oracle的操作

    2023-07-23 03:34:22
  • python中struct模块之字节型数据的处理方法

    2021-09-27 12:38:00
  • Python OpenCV实现3种滤镜效果实例

    2021-06-04 10:20:27
  • asp如何定时执行约定的页面?

    2009-11-15 20:17:00
  • SQLSERVER ISNULL 函数与判断值是否为空的sql语句

    2024-01-13 02:58:14
  • 教你怎么用Python实现GIF动图的提取及合成

    2023-11-29 14:16:15
  • asp之家 网络编程 m.aspxhome.com