将mysql数据导入Dojo datagrid表

时间:2009-05-22 15:48:19

标签: php javascript mysql dojo

问候所有人。

我有一个PHP脚本调用MYSQL并在表中显示数据。它相当难看,我宁愿让它显示在Dojo样式表/ datagrid中。有人能指出我正确的方向吗?

谢谢!

3 个答案:

答案 0 :(得分:7)

将数据从MySQL传递到Dojo DataGrid需要一个简单的服务器端组件。 A recent discussion at Dojo forums演示了如何将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}";

同时查看此comment about PHP backend for sorting and searching。这条消息还有另一个PHP后端示例(尽管没有网格):Bringing PHP, MySQL, and Dojo together

此外,Dojo的tests始终是一个有用的资源。就像这个展示dispalying and editing data in a mysql database的那个。 但请注意:只有在已编辑的用户名/密码之后才能在本地框中使用,并将其指向现有的数据库sample protocol implementation。此外,它适用于较旧的Grid组件,尚未移植到较新的DataGrid。但是,该文件是一个很好的起点,因为它显示了编辑数据所需的功能以及如何开始使用它们。

答案 1 :(得分:1)

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

while($row = db_fetch_array($db_result)) $rows[] = $row;
echo json_encode($rows);

答案 2 :(得分:0)