国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

phpcms v9 get標簽的一個bug

2024-09-10 07:15:21
字體:
來源:轉載
供稿:網友

phpcms是一個十分強大的cms開發平臺,自定義程度很高,如果懂技術的話,使用起來如魚得水,事半功倍,特別是最新的v9,采用mvc框架結構,性能更好,但是由于v9是一個推倒重來的系統,里面必然會存在多多少少的bug.get標簽在phpcms2008版本的時候就很受開發者歡迎,自定義程度很高,v9也繼承了2008的get標簽,最近在使用v9的get標簽是,發現一個不足之處.

  1. {pc:get sql="SELECT * FROM phpcms_member" cache="3600" page="$page" dbsource="discuz" return="data"
  2.  <ul> 
  3.  {loop $data $key $val
  4.  {$val[username]}<br /> 
  5.  {/loop} //Vevb.com 
  6.  </ul> 
  7.  {$pages
  8.  {/pc} 

這 是官方給出的v9 get標簽使用說明,其中page="$page" 是來調用分頁的,當然如果用官方給出的那種簡單的標準的sql語句來說毫無問題,問題就出現在如果我使用復雜的sql語句就會出現分頁不出現的情況,必如 這個語句sql="SELECT * FROM `v9_news` where catid in (select catid from v9_category where parentid=6) order by updatetime desc".測試多遍不出現分頁,經過分析其get代碼,發現問題出現在get函數的這條語句上.

if ($sql = preg_replace('/select([^from].*)from/i', "SELECT COUNT(*) as count FROM ", $datas['sql'])) {

用正則表達式替換select from,上述sql語句里面出現兩次 select from,都被替換掉了。所以造成分頁不會出現,解決問題辦法是把語句變成這樣的sql="SELECT * FROM `v9_news` where catid in (11,12) order by updatetime desc"或者先把select catid from v9_category where parentid=6

查找出來放進變量,變成這樣的:sql="SELECT * FROM `v9_news` where catid in ($newsarrchildid) order by updatetime desc"

分頁正常出現.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨竹工卡县| 赤城县| 乌海市| 容城县| 济南市| 镇康县| 荣成市| 巴林左旗| 怀宁县| 屯留县| 涟水县| 洛阳市| 兴山县| 宜城市| 桦甸市| 汉源县| 江城| 崇左市| 额尔古纳市| 湟中县| 湘潭县| 察隅县| 台山市| 陕西省| 彰化市| 二连浩特市| 宁津县| 临高县| 平南县| 古浪县| 泾川县| 光山县| 郑州市| 基隆市| 八宿县| 普陀区| 莱州市| 洪湖市| 丹江口市| 深圳市| 黄骅市|