PHPファイルから返されたカウントに基づいて、パネル内に追加パネルを作成しようとしています。ただし、返された JSON データの使用方法につまずきます。また、firebug を使用して調査すると、Ajax 呼び出しが開始されません。私のコードは以下の通りです:
App.js
var ds = Ext.create('Ext.data.Store',({
proxy: {
type:'ajax',
url:'data.php',
reader: {
type : 'json',
id: 'Completion_ID',
root: "myInventory",
fields:
[{name: 'PMNumber', type: 'int', mapping: 'PMNumber'},
]
}
}
})
);
Ext.onReady(function()
{
ds.load();
Ext.create('Ext.panel.Panel', {
renderTo: document.getElementById('aa'),
title: 'Marks Entry',
height: 500,
width: 880,
bodyStyle:'padding:15px 15px 15px 15px',
layout: {
type: 'table',
//3 by 3 Grid
columns: parseInt([{ dataIndex: 'PMNumber'}])
},
items: [{
// Blank Panels so html is ''
xtype:'panel',
html: '2003010001 '
},{
xtype:'panel',
html: '2003010002 '
},{
xtype:'panel',
html: '2003010003 '
},{
xtype:'panel',
html: '2003010004'
},
{
xtype:'panel',
html: '2003010005'
},
{
xtype:'panel',
html: '2003010006'
},
{
xtype:'panel',
html: '2003010007'
},
{
xtype:'panel',
html: '2003010008'
},
{
xtype:'panel',
html: '2003010009'
},
],
});
});
data.php
<?php
//connection String
$con = mysql_connect($myhost, $myuser, $mypass) or die('Could not connect: ' . mysql_error());
//Select The database
$bool = mysql_select_db($myDB, $con);
if ($bool === False){
print "can't find $database";
}
// Gather all pending requests
$query = "SELECT
count(*) AS PMNumber
FROM marks " ;
$result = mysql_query($query, $con);
if (mysql_num_rows($result) > 0){
while($obj = mysql_fetch_object($result))
{
$arr[] = $obj;
}
// Now create the json array to be sent to our datastore
$myData = array('myInventory' => $arr);
echo json_encode($myData);
return;
exit();
}
else { // If no requests found, we return nothing
$myData = array('myInventory' => '');
echo json_encode($myData);
return;
exit();
}
?>
個別に呼び出されたときに php ファイルによって返される JSON データ:
{"myInventory":[{"PMNumber":"3"}]}
html ファイル:
<html>
<head>
<title>Hello Ext</title>
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css">
<script type="text/javascript" src="../extjs/ext-debug.js"></script>
<script type="text/javascript" src="js/app.js"></script>
</head>
<body style="padding: 50px 20px 0 20px;">
<div id="aa" style="wdith:900px;height:500px"></div>
</body>
</html>
私がどこに行方不明なのか誰にもわかりませんか?
ありがとう