1

大家好。

我有一个调用 MYSQL 并在表中显示数据的 php 脚本。它相当难看,我宁愿将它显示在 Dojo 样式表/数据网格中。谁能指出我正确的方向?

谢谢!

4

3 回答 3

7

将数据从 MySQL 传递到 Dojo DataGrid 需要一个简单的服务器端组件。Dojo 论坛上最近的一次讨论演示了如何将 PHP 中的 MySQL 查询结果格式化为 Dojo 的标准数据存储能够理解的格式:

// do your mysql query and get a result set
$arr = array();
while($row = mysql_fetch_object($result)){               
  $arr[] = $row;
}

// assuming you're running php version 5.2.x or higher
// this also assumes each row in the array has a identifer field 'id' and a field "name" in the database table which are returned from the mysql query.
$jsonStr = json_encode($arr);
echo "{'identifier':'id','label':'name','items':$jsonStr}";

另请查看有关 PHP 后端进行排序和搜索的评论。还有另一个 PHP 后端示例的消息(虽然没有网格):Bringing PHP, MySQL, and Dojo together

此外,Dojo 的测试总是有用的资源。就像这个演示在 mysql 数据库中显示和编辑数据的一样。但请注意:它只能在您的本地机器上工作,并且只有在您编辑了用户名/密码并将其指向示例协议实现中的现有数据库之后。此外,它适用于较旧的 Grid 组件,尚未移植到较新的 DataGrid。但是,该文件是一个很好的起点,因为它显示了编辑数据所需的功能以及如何开始使用它们。

于 2009-05-22T23:56:02.313 回答
1

我不知道 Dojo 的 DataGrid,但这里有一些我在 ExtJS 中使用的简单代码:

while($row = db_fetch_array($db_result)) $rows[] = $row;
echo json_encode($rows);
于 2009-05-22T17:17:55.177 回答
0

http://jslib-test.amplio-vita.net/JSLib/demos/DBGrid/

于 2009-05-24T18:35:18.760 回答