### pageBySql
**動態構建某一頁select sql并執行**
**參數**
\* 1.$sql:傳入的基本select語句
\* 2.$param:構造sql所需參數
\* 返回: Array 二維數組.第一維是所有記錄,第二維是某條記錄的字段數組
~~~
function pageBySql($sql) {
//構建group by
$groupBy = $this->groupBy;
$countPos=strpos ( $sql, "@" );
//拼裝搜索條件
$sql = $this->createQuery ( $sql, $this->searchArr );
if(empty($countPos)){
$countPos=strpos ( $sql, "from" );
}else{
$sql=str_replace ( "@", "", $sql );
}
if (isset ( $groupBy ) && $groupBy != "" && $groupBy != "id") {
$groupBy = " group By $groupBy ";
$countsql = "select 0 " . substr ( $sql, $countPos );
//$countsql = $this->createQuery ( $countsql, $this->searchArr );
$countsql = "select count(0) as num from ( " . $countsql . " " . $groupBy . " ) as t";
} else {
//構造獲取記錄數sql
$countsql = "select count(0) as num " . substr ( $sql, $countPos );
//$countsql = $this->createQuery ( $countsql, $this->searchArr ); //TODO;待優化,無需執行兩次createQuery
}
//print($countsql);
$this->count = $this->queryCount ( $countsql );
//拼裝聚合函數
$sql .= $groupBy;
//構建排序信息
if(!empty($this->sort)){
$asc = $this->asc ? "DESC" : "ASC";
//echo $this->asc;
$sql .= " order by " . $this->sort . " " . $asc;
}
$this->listSql=$sql;
//print($sql);
//構建獲取記錄數
$sql .= " limit " . $this->start . "," . $this->pageSize;
//echo $sql;
return $this->_db->getArray ( $sql );
}
~~~
- 架構
- 基礎框架文檔
- base/action(C層基類)
- protected 類定義
- __construct構造函數
- c_list
- c_index
- c_page
- c_pageJson
- c_listJson
- c_getByAjax
- c_getCountByName
- c_toAdd
- c_add
- c_init
- c_edit
- c_deletes
- c_ajaxdeletes
- c_saveBatch
- c_checkRepeat
- getDatadicts
- showDatadicts
- getDataNameByCode
- assign
- display
- view
- assignFunc
- model/base(M層基類)
- protected類定義(model)
- __construct
- find
- get_table_fields
- findAll
- findSql
- create
- delete
- findBy
- updateField
- query
- findCount
- update
- filterFunc
- filterField
- filterWithoutField
- filterCustom
- createBatch
- pageBySql
- listBySql
- pageBySqlId
- deletes
- 事務控制
- 獲取對象數組
- addBatch_d
- add_d
- edit_d
- isRepeat
- 列表組件文檔
- 基礎表格
- 數據獲取
- 表格數據顯示
- 常用控制參數
- 表格右鍵擴展
- 表格擴展按鈕
- 快速搜索
- 高級搜索(自定義視圖)
- 表格注冊事件
- 主從表格
- 可編輯表格
- 模塊開發
- 開發案例
- 開發準則