前  言

 php  

 easyui框架--本篇學習主要是 easyui中的datagrid(數據表格)框架。

本篇學習主要通過講解一段代碼加GIF圖片學習datagrid(數據表格中的一些常用屬性,還有與之相關的dialog(對話窗)和texbobox(文本框)的一些常用屬性,希望對讀者有幫助。

本篇主要分為兩個部分講解:

 ?、?前端PHP代碼編寫--框架搭建與數據調用
 ?、?數據庫的數據內容與后臺數據連接,后臺數據傳輸到前臺

 

以下所有代碼HBuider中建立PHP文件實施。(前提php文件可以正常使用

 

1、GIF效果圖


圖片:

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

 

  圖 1.1 在HBuider中通過建立PHP文件使用easyui框架中的datagrid(數據表格)

圖片:

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

圖 1.1 通過點擊datagrid(數據表格)中的每一列顯示出dialog(對話窗)--->>>對話框內容用文本框(texbobox)寫入。


數據庫圖片如下:

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

 圖 1.1 Navicat Premium中的mysql主機中的mydb數據庫


    

 

2、前端php文件中的代碼:注釋有解析

 

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

  1 <!DOCTYPE html>  2 <html>  3     <head>  4         <meta charset="UTF-8">  5         <title></title>  6         <!--css與js代碼植入-->  7         <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">   
  8         <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">   
  9         <script type="text/javascript" src="easyui/jquery.min.js"></script>   
 10         <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>  
 11         <script type="text/javascript" src="easyui/easyui-lang-zh_CN.js"></script>  
 12     </head> 13         <body> 14             <!--表格樣式--> 15     <table id="dg" style="width:420px;height:250px" > 16           <thead>   
 17             <tr>   
 18                 <!--field:字段名(mysql數據庫中表的字段相同),easyui直接從后臺取得字段:
 19                     后臺傳輸過來的樣式如下:
 20                     {"rows":[{"id":"31","username":"\u8d75\u516d","age":"22","sex":"\u7537"},
 21                     {"id":"30","username":"\u8d75\u4e94","age":null,"sex":"\u7537"},
 22                     {"id":"29","username":"\u8d75\u4e8c","age":"18","sex":"\u7537"},
 23                     {"id":"28","username":"\u8d75\u4e09","age":"19","sex":"\u7537"},
 24                     {"id":"27","username":"\u8d75\u4e00","age":"13","sex":"\u7537"},
 25                     {"id":"27","username":"\u8d75\u56db","age":"20","sex":"\u7537"},
 26                     {"id":"26","username":"\u8d75\u4e91","age":"122","sex":"\u5973"},
 27                     {"id":"25","username":"\u53f8\u9a6c\u5149","age":"122","sex":"\u5973"},
 28                     {"id":"24","username":"\u5c0f\u6dd8\u6c14","age":"23","sex":"\u5973"},
 29                     {"id":"23","username":"\u5f20\u4e00","age":"122","sex":"\u5973"}],"total":"19"}
 30                     --> 31                 <th data-options="field:'id',width:100,sortable:true,sortOrder:'desc'">編碼</th>   
 32                        <!--↑sortable:如果為true,則允許列使用排序↑
 33                            ↑sortOrder: 定義列的排序順序,只能是'asc'(升序)或'desc'(降序)。 ↑-->  34                 <th data-options="field:'username',width:100">名稱</th> 
 35                      36                     <!--↓sortable:如果為true,則允許列使用排序↓
 37                            ↓sortOrder: 定義列的排序順序,只能是'asc'(升序)或'desc'(降序)?!?nbsp;-->  38                 <th data-options="field:'age',width:200,sortable:true,sortOrder:'desc', 39                                     styler:function(value,row,index){ 40                                         if (value == null || value == ''){ 41                                           return 'background-color:yellow;'; 42                                         } 43                                     }, 44                                     formatter:function(value,row,index){ 45                                         if(value == null || value == ''){ 46                                             return 'null'; 47                                         }else{ 48                                             return value +'歲'; 49                                         } 50                                     }">名稱</th>  
 51                     <!--① ↑單元格styler(樣式)函數 :也就是說這個函數改的是樣式屬性↑
 52                         value:字段值。
 53                         row:行記錄數據。
 54                         index: 行索引。
 55                         ↑ 如果內容為null則背景色為yellow(黃色)↑
 56                         
 57                         ② ↑單元格formatter(格式化器)函數  :也就是說這個函數改的是value值↑
 58                         value:字段值。
 59                         row:行記錄數據。
 60                         index: 行索引。
 61                         ↑ 如果內容為null或者為""字符串,則返回null其他內容則在后面加入一個‘歲’↑
 62                         -->                  63                 <th data-options="field:'sex',width:100,align:'right'">價格</th>   
 64             </tr>   
 65         </thead>   
 66     </table> 
 67      68         <!--↓下面這個div屬于一個Dialog(對話框)↓--> 69             <div id="dd"> 70             <table> 71                 <tr> 72                     <td>編號:</td> 73                     <td> 74                         <!--設置每個input對應的id名,class內容為easyui-textbox(easyui的文本框)--> 75                         <input type="text " name="id" id="id" class="easyui-textbox" style="width: 100px;"/> 76                     </td> 77                 </tr> 78                 <tr> 79                     <td>用戶名:</td> 80                     <td> 81                         <input type="text " name="username" id="username" class="easyui-textbox" style="width: 100px;"/> 82                     </td> 83                 </tr> 84                 <tr> 85                     <td>年齡:</td> 86                     <td> 87                         <input type="text " name="age" id="age" class="easyui-textbox" style="width: 100px;"/> 88                     </td> 89                 </tr> 90                 <tr> 91                     <td>性別:</td> 92                     <td> 93                         <input type="text " name="sex" id="sex" class="easyui-textbox" style="width: 100px;"/> 94                     </td> 95                 </tr> 96                  97             </table> 98         </div> 99 100         </body>101         102     <script type="text/javascript">103         //↓取到數據表格,添加屬性↓104         $('#dg').datagrid({    
105         //↓url:一個URL從遠程站點請求數據?!?06         url:'dodatagrade.php',    
107         //↓fitColumns:true,真正的自動展開/收縮列的大小,以適應網格的寬度,防止水平滾動?!?08           fitColumns:true,109           //↓pagination:boolean 如果為true,則在DataGrid控件底部顯示分頁工具欄。 ↓110           pagination:true,111           //↓定義分頁工具欄的位置??捎玫闹涤校?#39;top','bottom','both'。112           //↑pagePosition:"top",113           114           //↓rownumbers:boolean  如果為true,則顯示一個行號列。 115           rownumbers:true,116           //↓singleSelect:boolean  如果為true,則只允許選擇一行。 117           ctrlSelect:true,118           119           //↓pageSize:number 在設置分頁屬性的時候初始化頁面大小。 120           pageSize:5,121           //↓pageList array 在設置分頁屬性的時候 初始化頁面大小選擇列表。 122           pageList:[5,10,15,20],123           124           //↓如果為true,當用戶點擊行的時候該復選框就會被選中或取消選中。125           //checkOnSelect:true,126           127           128           /*129           rowStyler function :130                 返回樣式如'background:red'。帶2個參數的函數:131                 index:該行索引從0開始132                 row:與此相對應的記錄行。 */133           rowStyler:function(index,row){134         if(index%2 !=0){135             return "background:skyblue";136         }else{137             return "background:#693";138             }139         },//↑單行背景色為skyblue,雙數行背景顏色為#693140         141         142         /*↓ onDblClickRow:function143          在用戶雙擊一行的時候觸發(fā),參數包括:144             index:點擊的行的索引值,該索引值從0開始。145             row:對應于點擊行的記錄。 */146         onDblClickRow:function(index,row){147                 //↓ 取到dialog(對話框)中的各個input的id,通過texbox的setvalue給賦值點擊行的內容148                 $("#id").textbox("setValue",row.id);149                 $("#username").textbox("setValue",row.username);150                 $("#age").textbox("setValue",row.age);151                 $("#sex").textbox("setValue",row.sex);152                 //↓ 取到dialog(對話框)整體的框架id,一開始是隱藏,加入closed:false,則消息框重新彈出。153                 $('#dd').dialog({  //屬于點擊之后彈出對話框154                     closed:false155                 });156             }157 158         });159         //↓ 對話框的屬性設置:160        $('#dd').dialog({    
161         width: 400,    
162         height: 200,    
163         //↓ 對話框設置隱藏164         closed: true,  
165          //↓cache:boolean 如果為true,在超鏈接載入時緩存面板內容。 166         cache: false,  //我也不知道具體是什么意思,copy有,沒敢亂刪  
167         // modal:boolean 定義是否將窗體顯示為模式化窗口。 168         modal: true   169     });  
170     </script>    
171 </html>

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

 

2、后臺php中的代碼:注釋有解析

 

大學生就業(yè)培訓,高中生培訓,在職人員轉行培訓,企業(yè)團訓

 1 <?php 2  3     header("Content-Type:text/html;charset=utf-8"); 4      5     //include_once("MySQL/mysql.php"); 6     //↓打開數據庫,觀看我的前一篇文章。 7     define("HOST", "1xx.0.0.x");  //ip地址 8     define("USERNAME", "root"); 9     define("PASSWORD", "");10     define("DBNAME", "mydb");11     define("CHARSET", "utf8");12     13     //@:取消錯誤提示14     $conn = @mysqli_connect(HOST, USERNAME, PASSWORD, DBNAME) or die("數據庫連接失敗<span style='color:red;'>".mysqli_connect_error()."</span>");15     @mysqli_set_charset($conn, CHARSET) or die("字符集編碼設置無效");16         17     //↓ datagrid使用了分頁的話,其框架自身會向后臺

http://www.cnblogs.com/zhuanzhibukaixin/p/7087463.html