-
-
-
-
- 一隻小龍easyUI datagrid
- p>
-
-
一隻小龍easyUI datagrid url測驗
-
url="datagrid2_getdata.php" title="載入資料" pagination="true">
UNum |
用戶ID |
-
密碼 |
- 生日
- 暱稱
- DBSTS th>
- tr>
-
-
-
-
複製程式碼
在來定義資料中取得的後台界面
datagrid2_getdata.php
-
-
$page = isset($_POST['page']) ? intval($_POST[' page']) : 1;
- $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
- $offset = ($page-1)* $rows;
- $result = array();
// ...
- require_once(".dbDB_config.php") ;
- require_once(".dbDB_class.php");
-
$db = new DB();
- $db->connect_db($_DB['主機'], $ _DB['用戶名'], $_DB['密碼'], $_DB[' dbname']);
- $db->query("從$tablename 中選擇count(*) 作為總計");
- $row = $db->fetch_assoc();
$result["total"] = $row["Total"];
$ db->query("select * from $tablename limit $offset ,$rows");
$items = array();
- while($row = $db ->fetch_assoc()){
- array_push($items , $row);
- }
- $result["rows"] = $items;
echo json_encode( $result);
- ?>
-
複製程式碼
由上述,可以看出,這是一個很單純的資料取得的動作。
一開始 DataGrid 會傳進來 兩個參數,
$_POST['page']) 目前是在第幾頁
$_POST['rows']) 每頁要顯示幾筆資料
然後,要使用一個陣列 $result ,存放兩個資訊,
$result["total"] 有幾筆資料
$result["rows"] 存放實際的資料陣列集
最後要將 $result 陣列,產生將 JSON 資料格式來輸出,DataGrid 接收到以後就會來處理、刷新畫面了。
後面,在更進一步,可以將datagrid2_getdata.php 在抽象化一層,也就是將屬於EasyUI DataGrid 特有的資料格式處理的部分與資料庫訪問的的部分分離,各自獨立出來成為兩個class 來處理。
一個好的架構以及class 設計,其實都是靠經驗的累積而生成的,不斷演進改良,原有的框架,其中最重要的精神就是,每個Class 的分工要清楚而且精確,這是為了應付上述,不斷演進這各問題來做的對應措施,這樣未來才更容易去做修改調整。
否則更容易變成,你想改卻不知從何下手,因為一改就有幾十支,甚至上百支程式等著你,要一起修改,從而延伸出,穩定性問題,也就是大家反對去修改原有系統,就是因為太多要改了,少改一支也不行,問題幾十支一起改,就算都改完,誰來測試有沒有改好,難道叫你的user 來幫你測,想想,就還是算了,不要再改了,反正現在系統也都還好好的可以用。
|