Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php使用EasyUI DataGrid获取资料的方式

php使用EasyUI DataGrid获取资料的方式

WBOY
WBOYasal
2016-07-25 09:03:541014semak imbas
  1. 一條小龍 easyUI datagrid
  2. 一條小龍 easyUI datagrid url test

  3. url="datagrid2_getdata.php" title="Load Data" pagination="true">
  4. UNum User ID Password Birthday Nickname DBSTS
复制代码

在来定义资料取得的后台介面 datagrid2_getdata.php

  1. $page = isset($_POST['page']) ? intval($_POST['page']) : 1;

  2. $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
  3. $offset = ($page-1)*$rows;
  4. $result = array();
  5. $tablename = "STUser";

  6. // ...
  7. require_once(".\db\DB_config.php");
  8. require_once(".\db\DB_class.php");
  9. $db = new DB();

  10. $db->connect_db($_DB['host'], $_DB['username'], $_DB['password'], $_DB['dbname']);
  11. $db->query("select count(*) As Total from $tablename");
  12. $row = $db->fetch_assoc();
  13. $result["total"] = $row["Total"];

  14. $db->query("select * from $tablename limit $offset,$rows");

  15. $items = array();

  16. while($row = $db->fetch_assoc()){
  17. array_push($items, $row);
  18. }
  19. $result["rows"] = $items;
  20. echo json_encode($result);

  21. ?>
复制代码

由上述,可以看出,这是一个很单纯的资料取得的动作。 一开始 DataGrid 会传进来 两个参数, $_POST['page']) 目前是在第几页 $_POST['rows']) 每页要显示几笔资料

然后,要使用一个阵列 $result ,存放两个资讯, $result["total"] 有几笔资料 $result["rows"] 存放实际的资料阵列集 最后要将 $result 阵列,产生将 JSON 资料格式来输出,DataGrid 接收到以后就会来处理、刷新画面了。

后面,在更进一步,可以将 datagrid2_getdata.php 在抽象化一层,也就是将属于 EasyUI DataGrid 特有的资料格式处理的部分与资料库存取的的部分分离,各自独立出来成为 两个 class 来处理。

一个好的架构 以及 class 设计,其实都是靠经验的累积而生成的,不断演进改良,原有的框架,其中最重要的精神就是,每个 Class 的分工要清楚而且精确,这是为了应付上述,不断演进 这各问题来做的对应措施,这样在未来才更容易去做修改调整。

否则更容易变成,你想改却不知从何下手,因为一改就有几十支,甚至上百支程式等着你,要一起修改,从而延伸出,稳定性问题,也就是大家反对去修改原有系统,就是因为 太多要改了,少改一支也不行,问题几十支一起改,就算都改完,谁来测试有没有改好,难道叫你的 user 来帮你测,想想,就还是算了,不要再改了,反正现在系统也都还好好的可以用。



Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn