ext js store/model example.net-将php/mysql转换为.netwebservier/sql
下午好, 我正在学习掌握ExtJS的教程,一直在从db检索数据。 这本书一直在使用PHP和MYSQL的例子。。。我不知道。我使用的是.NETWeb服务器和SQL,所以我试图将本教程中的示例转换为如何在.NETWeb服务器上执行此操作 JSON格式的结果应该是这样的ext js store/model example.net-将php/mysql转换为.netwebservier/sql,php,mysql,sql,web-services,extjs,Php,Mysql,Sql,Web Services,Extjs,下午好, 我正在学习掌握ExtJS的教程,一直在从db检索数据。 这本书一直在使用PHP和MYSQL的例子。。。我不知道。我使用的是.NETWeb服务器和SQL,所以我试图将本教程中的示例转换为如何在.NETWeb服务器上执行此操作 JSON格式的结果应该是这样的 { "data"[ { "id":1", "text" : "menu1", "items": [ {"id": 2", "text: "submenu2 }, { "id":"3", "text":"submenu3" }
{
"data"[
{
"id":1",
"text" : "menu1",
"items": [
{"id": 2",
"text: "submenu2
},
{
"id":"3",
"text":"submenu3"
}
他们给我的php代码如下
php文件1
$permissions=retrievePermissions($userName)$模块=
retrieveModules($permissions)$结果=检索菜单选项($modules,
$permissions)
php文件2
函数retrievePermissions($userName){
函数retrieveModules($permissions){
函数检索菜单选项($modules,$permissions){
我试图弄清楚如何使用.NETWebService/SQL而不是php/MySQL返回相同的json格式。
它似乎有3个独立的函数,结果数组被用作下一个查询的参数
基础看起来很简单…就像retreivePermissions…这是一个简单的SELECTWHERE语句。
retrieveModules似乎是第一个结果的内部连接。
但最后一个…retrieveMenuOptions,它将两个结果作为参数拉入,并返回结果
这就是我不明白的…我如何才能以相同的JSON结果格式从SQL中提取结果
我讲得通吗?我有一个使用.NET Web API控制器的示例。不完全是Web服务,但你会明白的。在这里查看:谢谢,我正在阅读你的示例,但我想我应该解释的是,我下面这本书中的教程给了我一个来自MySQL的嵌套结果……我如何才能实现通过.NETWebService从我的sql数据库中获取相同的嵌套结果
require('../db/db.php');
$sqlQuery = "SELECT p.menu_id menuId FROM User u ";
$sqlQuery .= "INNER JOIN permissions p ON u.groups_id = p.groups_id ";
$sqlQuery .= "INNER JOIN menu m ON p.menu_id = m.id ";
$sqlQuery .= "WHERE u.username = '$userName' ";
$permissions = [];
if ($resultDb = $mysqli->query($sqlQuery)) {
while($user = $resultDb->fetch_assoc()) {
$permissions[] = $user['menuId'];
}
}
$resultDb->free();
$mysqli->close();
return $permissions; }
require('../db/db.php');
$inClause = '(' . join(',',$permissions) . ')';
$sqlQuery = "SELECT id, text, iconCls FROM menu WHERE menu_id IS NULL AND id in $inClause";
$modules = [];
if ($resultDb = $mysqli->query($sqlQuery)) {
while($module = $resultDb->fetch_assoc()) {
$modules[] = $module;
}
}
$resultDb->free();
$mysqli->close();
return $modules; }
require('../db/db.php');
$inClause = '(' . join(',',$permissions) . ')';
$result = [];
foreach ($modules as $module) {
$sqlQuery = "SELECT * FROM menu WHERE menu_id = '";
$sqlQuery .= $module['id'] ."' AND id in $inClause";
// check if have a child node
if ($resultDb = $mysqli->query($sqlQuery)) {
// determine number of rows result set
$count = $resultDb->num_rows;
if ($count > 0){
$module['items'] = array();
while ($item = $resultDb->fetch_assoc()) {
$module['items'][] = $item;
}
}
$result[] = $module;
}
}
$resultDb->close();
$mysqli->close();
return $result;