Я хочу использовать 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
Спасибо.
Вы пытаетесь прочитать параметры 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;
}
}
Других решений пока нет …