1

希望你能帮我解决我的问题我不知道添加什么代码来用 PHP 创建一个简单的网格,没有数据会输出到网格我在教程中看到了这些所以我创建了一个输出 json 的 php 文件然后我创建了一个网格在这里存储是我的代码

//这是我的商店

Ext.define('Active.store.Employee', {
      extend: 'Ext.data.JsonStore',

      alias: 'store.employees',

    proxy: {

        type: 'ajax',
        url: 'test.php',
        reader: {
            type: 'json',
            rootProperty: 'data'
        }
    },

       fields: ['name', 'bounty', 'power' ],
       autoLoad:true,
});

//这是我的网格

     Ext.define('Active.view.main.Grid', {
    extend: 'Ext.Panel',
    xtype: 'grid',

require:['Active.view.main.Employee','Active.store.Employee'],

 items:[{
            style: 'padding-top: 10px;',
            xtype: 'gridpanel',
            style: 'margin-top:5px;margin-left:10px;',
            columns : {
                defaults: {
                    sortable: false,
                    menuDisabled: true
                },
                items: [
                    { text: 'Name', dataIndex: 'name',width:'20%' },
                    { text: 'Bounty', dataIndex: 'bounty',width:'20%'},
                    { text: 'Power', dataIndex: 'power',width:'20%'},

                        ]
            },
            store: {type: 'employees',},
            width: '100%'

        }],


  });   

//这是我的PHP代码

<?php

 mysql_connect("localhost", "root", "") or
  die("Could not connect: " . mysql_error());
  mysql_select_db("test_db");




$query= "SELECT * FROM pirate";
$result= mysql_query($query);

    $return_arr= array();

    while($rows = mysql_fetch_array($result, MYSQL_ASSOC)){
            $row_array['id']=$rows['id'];
            $row_array['name']=$rows['name'];
            $row_array['bounty']=$rows['bounty'];
            $row_array['power']=$rows['power'];


            array_push($return_arr, $row_array);
}




$ans = array();
$ans['data'] = $return_arr;
header('Content-Type: application/json');
print json_encode($ans);
exit;

?>
4

1 回答 1

0

您快到了。data也应该是您的 json 答案的一部分。此外,您可能希望在回复标头中包含内容类型:

$query = "SELECT * FROM pirate";
$result = mysql_query($query);

$return_arr = array();

while($rows = mysql_fetch_array($result, MYSQL_ASSOC)){
    $row_array['id'] = $rows['id'];
    $row_array['name'] = $rows['name'];
    $row_array['bounty'] = $rows['bounty'];
    $row_array['power'] = $rows['power'];
    array_push($return_arr, $row_array);
}

$ans = array();
$ans['data'] = $return_arr;
header('Content-Type: application/json');
print json_encode($ans);
exit;
于 2014-07-23T04:58:11.040 回答