2013-03-10 53 views
1

我正在尝试使用mysql resulset将一个表创建为一个JSON字符串。我有Flexigrid所需的包,以及从另一个php(table.php)加载数据到同一路径的功能。我想将一个JSON字符串加载到一个Flexigrid表中

我可以显示Flexigrid表,但没有显示数据。当我在浏览器中检查table.php时,我得到了JSON字符串,并且所有“外观”都正确。 我分享我的代码,如果有人可以帮助我了解我错过了什么?

table.php

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = '123'; 
$db = 'nwind'; 
mysql_connect($dbhost,$dbuser,$dbpass) or die ('Error!'); 
mysql_select_db($db) or die ('Check the Data Base');  
$query = 'SELECT orderId, customerId, employeeId, orderDate FROM orders'; 
$resultset = mysql_query ($query); 
if (!$resultset) { 
$message = 'Query error: ' . mysql_error() . '\n'; 
$message .= 'Search: ' . $query; 
die($message); 
} 
$json = array(); 
while ($object = mysql_fetch_object($resultset)) { 
$json[] = array(
"Order_ID" => $object->orderId, 
"Customer_ID" => $object->customerId, 
"Employee_ID" => $object->employeeId, 
"Order_Date" => $object->orderDate 
); 
} 
echo json_encode($json); 
?> 

使用example.php

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Test</title> 
<link rel="stylesheet" href="../flexigrid/css/flexigrid.pack.css" type="text/css"/> 
<script type="text/javascript" src="../js/jquery-1.8.2.js"></script> 
<script type="text/javascript" src="../flexigrid/js/flexigrid.pack.js"></script> 
</head> 
<body> 
<div class="flexigrid"> 
<table id="flex"></table> 
</div>  
<script type="text/javascript"> 
$("#flex").flexigrid({ 
url:'table.php', 
dataType:'json', 
colModel : [ 
{display: 'Order_ID', 
name : 'orderId', 
width : 60, 
sortable : true, 
align: 'center'}, 
{display: 'Customer_ID', 
name : 'customerId', 
width : 180, 
sortable : true, 
align: 'left'}, 
{display: 'Employee_ID', 
name : 'employeeId', 
width : 120, 
sortable : false, 
align: 'left'}, 
{display: 'Order_Date', 
name : 'orderDate', 
width : 130, 
sortable : true, 
align: 'left'} 
], 
sortname: 'orderId', 
sortorder: 'asc', 
usepager: true, 
title: 'Orders', 
useRp: true, 
rp: 15, 
showTableToggleBtn: true, 
width: 700, 
height: 200, 
resizable: false 
}); 
</script> 
</body> 
</html> 
+0

建议尝试匹配JSON键'colModel名称'不'显示' – charlietfl 2013-03-10 18:58:02

+0

我试过但没有工作。 – 2013-03-10 20:29:34

+0

[{“orderId”:“10248”,“customerId”:“VINET”,“employeeId”:“5”,“orderDate”:“1996-07-04 00:00:00”},{“orderId”: “10249”,“customerId”:“TOMSP”,“employeeId”:“6”,“orderDate”:“1996-07-05 00:00:00”},{“orderId”:“10250”,“customerId” :“HANAR”,“employeeId”:“4”,“orderDate”:“1996-07-08 00:00:00”},{“orderId”:“10251”,.... 这就是JSON字符串看起来 – 2013-03-10 20:30:18

回答

1

只是检查在JavaScript中你ColumnModel。它肯定不会与你的返回数据相匹配。

相关问题