JQuery EasyUI DataGrid загрузки данных из функции PHP

Я хочу использовать jquery easyui, я могу загрузить данные в их сетку данных, используя файл php. Однако я не хочу использовать один php-файл для каждой сетки данных и / или действий, которые я хочу предпринять.
Я искал везде, и я не могу найти простой ответ на этот основной вопрос, надеюсь, кто-то здесь может помочь ..

Я хотел бы иметь файл items.php и в нем много разных функций, которые возвращают либо json, либо любой другой ответ и могут вызывать эти функции из сетки данных.

Это мой 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

Спасибо.

0

Решение

Вы пытаетесь прочитать параметры POST в GET-запросе. Вот почему у вас не работает ваша функция.

Я понятия не имею, что такое dataGrid, но похоже, что вы должны изменить свой HTML на (отметьте, что я изменил URL на файл и добавил действие 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;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]