2013-07-14 2 views
0

PHP와 JEasy UI를 처음 사용합니다. JEasy UI Grid의 데모 응용 프로그램을 실제로 실행하고 있습니다. 반면에 PHP 파일에서 그리드로 데이터를 가져 오지 못하고 있습니다.JEasyUI Grid에서 mysql 쿼리 데이터를로드 할 수 없습니다.

모든 아이디어 또는 제안주세요 ... !! 다음은

내 코드입니다 :

index.php를

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Basic CRUD Application - jQuery EasyUI CRUD Demo</title> 
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css"> 
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css"> 
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/demo/demo.css"> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script> 
    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script> 
</head> 
<body> 
    <div class="demo-info" style="margin-bottom:10px"> 
     <div class="demo-tip icon-tip">&nbsp;</div> 
    </div> 

    <table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px" 
      url="http://www.jeasyui.com/tutorial/app/crud/get_users.php" 
      toolbar="#toolbar" pagination="true" 
      rownumbers="true" fitColumns="true" singleSelect="true"> 
     <thead> 
      <tr> 
       <th field="firstname" width="50">First Name</th> 
       <th field="lastname" width="50">Last Name</th> 
       <th field="phone" width="50">Phone</th> 
       <th field="email" width="50">Email</th> 
      </tr> 
     </thead> 
    </table> 
    <div id="toolbar"> 
     <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="newUser()">New User</a> 
     <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editUser()">Edit User</a> 
     <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="destroyUser()">Remove User</a> 
    </div> 

    <div id="dlg" class="easyui-dialog" style="width:400px;height:280px;padding:10px 20px" 
      closed="true" buttons="#dlg-buttons"> 
     <div class="ftitle">User Information</div> 
     <form id="fm" method="post" novalidate> 
      <div class="fitem"> 
       <label>First Name:</label> 
       <input name="firstname" class="easyui-validatebox" required="true"> 
      </div> 
      <div class="fitem"> 
       <label>Last Name:</label> 
       <input name="lastname" class="easyui-validatebox" required="true"> 
      </div> 
      <div class="fitem"> 
       <label>Phone:</label> 
       <input name="phone"> 
      </div> 
      <div class="fitem"> 
       <label>Email:</label> 
       <input name="email" class="easyui-validatebox" validType="email"> 
      </div> 
     </form> 
    </div> 
    <div id="dlg-buttons"> 
     <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-ok" onclick="saveUser()">Save</a> 
     <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg').dialog('close')">Cancel</a> 
    </div> 
    <script type="text/javascript"> 
     var url; 
     function newUser(){ 
      $('#dlg').dialog('open').dialog('setTitle','New User'); 
      $('#fm').form('clear'); 
      url = 'save_user.php'; 
     } 
     function editUser(){ 
      var row = $('#dg').datagrid('getSelected'); 
      if (row){ 
       $('#dlg').dialog('open').dialog('setTitle','Edit User'); 
       $('#fm').form('load',row); 
       url = 'update_user.php?id='+row.id; 
      } 
     } 
     function saveUser(){ 
      $('#fm').form('submit',{ 
       url: url, 
       onSubmit: function(){ 
        return $(this).form('validate'); 
       }, 
       success: function(result){ 
        var result = eval('('+result+')'); 
        if (result.errorMsg){ 
         $.messager.show({ 
          title: 'Error', 
          msg: result.errorMsg 
         }); 
        } else { 
         $('#dlg').dialog('close');  // close the dialog 
         $('#dg').datagrid('reload'); // reload the user data 
        } 
       } 
      }); 
     } 
     function destroyUser(){ 
      var row = $('#dg').datagrid('getSelected'); 
      if (row){ 
       $.messager.confirm('Confirm','Are you sure you want to destroy this user?',function(r){ 
        if (r){ 
         $.post('destroy_user.php',{id:row.id},function(result){ 
          if (result.success){ 
           $('#dg').datagrid('reload'); // reload the user data 
          } else { 
           $.messager.show({ // show error message 
            title: 'Error', 
            msg: result.errorMsg 
           }); 
          } 
         },'json'); 
        } 
       }); 
      } 
     } 
    </script> 
    <style type="text/css"> 
     #fm{ 
      margin:0; 
      padding:10px 30px; 
     } 
     .ftitle{ 
      font-size:14px; 
      font-weight:bold; 
      padding:5px 0; 
      margin-bottom:10px; 
      border-bottom:1px solid #ccc; 
     } 
     .fitem{ 
      margin-bottom:5px; 
     } 
     .fitem label{ 
      display:inline-block; 
      width:80px; 
     } 
    </style> 
</body> 
</html> 

PHP 코드 URL

http://www.jeasyui.com/tutorial/app/crud/get_users.php

답변

0

는이

처럼 코딩 할 필요가 데이터 그리드에서 데이터를 얻을 수 있습니다
public function get_user(){ 

    /*Default request pager params from jeasyUI*/ 
    $offset = isset($_POST['page']) ? intval($_POST['page']) : 1; 
    $limit = isset($_POST['rows']) ? intval($_POST['rows']) : 10; 
    $search = isset($_POST['search']) ? $_POST['itemid'] : ''; 
    $offset = ($offset-1)*$limit; 

    //change this line to yours 
    $data = $this->user_model->get_user($offset,$limit,$search); 
    $i = 0; 
    $rows = array(); 
    foreach ($data ['data'] as $r) { 

     $rows[$i]['first_name'] = $r->first_name; 
     $rows[$i]['last_name'] = $r->last_name; 
     $rows[$i]['phone'] = $r->phone; 
     $rows[$i]['email'] = $r->email; 

    $i++; 
    } 

    //keys total & rows is required on jEasyUI 
    $result = array('total'=>$data['count'],'rows'=>$rows); 
    echo json_encode($result); 
} 

더 완전한 예 here

관련 문제