Jquery easyui datagrid从PHP函数加载数据

时间:2018-03-13 18:53:47

标签: php jquery jquery-easyui jeasyui

我想使用jquery easyui,我可以使用php文件将数据加载到他们的数据网格中。但是,我不想为每个数据网格和/或我想采取的操作使用一个php文件。 我一直在寻找无处不在,我似乎无法找到这个基本问题的简单答案,希望有人可以帮助..

我想有一个items.php文件,其中有许多不同的功能,它们返回json或任何其他响应,并能够从datagrid调用这些功能。

这是我的php文件..我有一个功能。

<?php

if (isset($_POST["action"]) && !empty($_POST["action"])) { //Checks if action value exists
    $action = $_POST["action"];
    switch($action) { //Switch case for value of action
      case "items": get_all_items(); break;
    }
  }

    public function get_all_items(){

    $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    $offset = ($page-1)*$rows;
    $result = array();

    include 'conn.php';

    $rs = mysql_query("select count(*) from items");
    $row = mysql_fetch_row($rs);
    $result["total"] = $row[0];
    $rs = mysql_query("select * from items limit $offset,$rows");

    $items = array();
    while($row = mysql_fetch_object($rs)){
        array_push($items, $row);
    }
    $result["rows"] = $items;

    echo json_encode($result);
    }


?>

这是我的html页面,我调用了php和函数,但我什么也没收到。

<table id="dg" title="Articulos" class="easyui-datagrid" style="width:1000px;height:330px"
        url="items.php/items" iconCls="icon-search"
        toolbar="#toolbar, #tb" pagination="true"
        rownumbers="true" fitColumns="true" singleSelect="true" data-options="
        url:get_items.php
        >

非常感谢任何帮助。

我真的不想为数据网格上需要为每个表和/或操作创建一个php文件。 基本上几年前就提出同样的问题,但没有回复。 https://www.jeasyui.com/forum/index.php?topic=4405.0

谢谢。

1 个答案:

答案 0 :(得分:0)

您正尝试在GET请求中阅读POST参数。这就是你没有运行功能的原因。

我不知道dataGrid是什么,但似乎你应该改变你的html(我已经更改了url to file并添加了action param ='first')

<table id="dg" title="Articulos" class="easyui-datagrid" style="width:1000px;height:330px"
        url="items.php/items" iconCls="icon-search"
        toolbar="#toolbar, #tb" pagination="true"
        rownumbers="true" fitColumns="true" singleSelect="true" data-options="
        url:get_items.php?action=first
        >

此外,您需要更改您的php文件以接受该参数:

if (isset($_GET["action"])) { //Checks if action value exists
    $action = $_GET["action"];
    switch($action) { //Switch case for value of action
      case "first": get_all_items(); break;
    }
  }