我想使用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
谢谢。
答案 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;
}
}