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

あなたはほとんどそこにいます。datajson 回答の一部にする必要があります。また、返信ヘッダーに content-type を含めることもできます。

$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 に答える