ThinkPHP php 框架學習筆記
ThinkPHP 有很多函數(shù)通過參數(shù)拼湊的方式來組合SQL,如下:$list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows);雖然這樣的拼湊的方式簡化了我們 sql 語句,但這也要求我們要記住很多函數(shù)方法,我并不想去記太多這樣的東西,覺得有時還不如直接寫一條完整的 sql 來得簡單。不知ThinkPHP里有沒有直接寫 sql 后執(zhí)行select 查詢的函數(shù)方法? 后來得知 Model.class.php 里面有一個方法 public function query($sql) 可以達到我想要的要求!在做分頁時就是用query方法跳過了使用 findall 方法實現(xiàn)了分頁功能。
看了例子和教程都是對單表操作的,可很多情況下我們要用到多表聯(lián)合操作。如多表聯(lián)合查詢,這個時候又應該怎樣做呢?ThinkPHP 已經(jīng)考慮到這個問題,已經(jīng)很貼心的幫我們安排了關聯(lián)查詢和關聯(lián)操作。這些我都嫌棄過于麻煩!其實靈活運用這個框架里面的一些基本的函數(shù)方法,就可以達到關聯(lián)查詢和關聯(lián)操作。沒必要記憶一大堆亂七八糟的東西。
數(shù)據(jù)分頁是經(jīng)常要用到的一項功能,TP這方面做得還算挺簡單。在網(wǎng)上找了一個教程( http://bbs.phpchina.com/thread-52813-1-1.html ),本以為參考這個教程寫出一個TP分頁程序應該很簡單的事。沒想到還是頗費了一番周折!
① 一開始是遇到 Fatal error: Class 'Think' not found in….. 的錯誤提示,在網(wǎng)上找了一通才知道是缺少了一個擴展類庫。后來在官方網(wǎng)站下載了相應的文件。
?、?SPAN style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"> 擴展類庫有了,沒提示錯誤了,可還是不能正確顯示出想要的結(jié)果!查看“頁面Trace信息”,原來是SQL有問題 SELECT COUNT() AS tp_count FROM `think_demo` LIMIT 1,分析得出教程的這句$count = $test->count('','id') 代碼有問題,改成 $count = $test->count('id') 終于看到上一頁下一頁的超鏈接了。盡信書不如無書!
?、?SPAN style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal"> 用教程的 $list = $test->findall('',$fields,'id desc',$p->firstRow.','.$p->listRows); 這句代碼我怎么也得不到想要的結(jié)果,我也不想去深入了解 findall 方法的各個參數(shù)的使用方法。于是改成 $list = $test->query("select $fields from think_demo order by id desc limit $p->firstRow,$p->listRows") 。再運行,這次終于把分頁搞掂出來了!
相關文章
array_values()在php中返回數(shù)組的操作實例
在本篇文章里小編給大家分享的是一篇關于array_values()在php中返回數(shù)組的操作實例內(nèi)容,有興趣的朋友們可以學習參考下。2021-02-02
PHP中函數(shù)rand和mt_rand的區(qū)別比較
mt_rand() 比rand() 快四倍,很多老的 libc 的隨機數(shù)發(fā)生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數(shù)默認使用 libc 隨機數(shù)發(fā)生器。mt_rand() 函數(shù)是非正式用來替換它的。2012-12-12

