Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ExtJS и postgresql, загрузка данных из базы данных 
:(
    Опции темы
scyther
Дата 14.1.2011, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Привет.
Есть такая таблица. Данные нужно загружать из базы postgresql. Как переписать my_data_1?

Код
Ext.onReady( function() {

    var my_data_1 = [
        ['3m Co',71.72,0.02,0.03,'9/1 12:00am',true],
        ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am',false]
    ];

    var getGrid = function( data, element) {
        var store = new Ext.data.ArrayStore({
            fields: [
                { name: 'company' },
                { name: 'price', type: 'float' },
                { name: 'change', type: 'float' },
                { name: 'pctChange', type: 'float' },
                { name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia' },
                { name: 'is_leaf', type: 'bool' }
            ],
            data: my_data_1
        });

PM MAIL   Вверх
gcc
Дата 16.1.2011, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



ЫЫЫЫЫ  

postgresql умеет прямо в ExtJS отдать?

скрипт на сервере должен принять из postgresql и отдать на клиент в ExtJS...
PM WWW ICQ Skype GTalk Jabber   Вверх
scyther
Дата 17.1.2011, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



Угу. Переписал my_data по примеру, только как $result подготовить для передачи в ExtJS? (знаю что есть некий json_encode)

Код
var my_data = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
            fields: ['id', 'street', 'city'],
            root: 'gorod'
        }),
        proxy: new Ext.data.HttpProxy({
            url: 'content.php', method: 'POST'
        })
    });


код content.php (result принимает все норм, уже проверил) помогите дальше "продвинуть" данные
Код
<?php

require_once 'db.php';

$result = ConDB::getInstance()->getContent();

?>

PM MAIL   Вверх
gcc
Дата 17.1.2011, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



перевести в json и отправить

http://www.php.net/manual/en/function.json-encode.php

как-то так:
Код

echo json_encode( ConDB::getInstance()->getContent() );


я в ExtJS не работает, в Jquery тут лучше всего $.getJSON
Код

$.getJSON("/comments_video/edit/"+id_cm, function(msg) {

  $("#text_cm2").val(msg.text_cm);  

  
  } );


msg - это массив (хэш) с php

Это сообщение отредактировал(а) gcc - 17.1.2011, 10:10
PM WWW ICQ Skype GTalk Jabber   Вверх
scyther
Дата 17.1.2011, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



ExtJS не принимает данных, грабли явно в javascript'е, а php ответ вроде нормальный smile 

Код

Ext.onReady( function() {
    var my_data = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
            fields: ['id', 'city', 'street'],
            root: 'options'
        }),
        proxy: new Ext.data.HttpProxy({
            url: 'content.php', method: 'POST'
        })
    });
// code cut
    var getGrid = function( data, element) {
        var store = new Ext.data.ArrayStore({
            fields: [
                { name: 'city' },
                { name: 'street' },
                { name: 'id' }
            ],
            data: my_data
        });
// code cut
        var grid = new Ext.grid.GridPanel({
            store: store,
            columns: [
                expander,
                { id:'id',header: 'id', width: 160, sortable: true, dataIndex: 'id' },
                { header: 'city', width: 75, sortable: true, dataIndex: 'city' },
                { header: 'street', width: 75, sortable: true, dataIndex: 'street' }
            ],
            stripeRows: true,
            autoExpandColumn: 'id',
            autoHeight: true,
            border: false,
            width: '100%',
            stateful: true,
            stateId: 'grid',
            plugins: expander
        });

        element && grid.render( element);
        return grid;
    };
// code cut
});

Код

<?php

    require_once 'db.php';

    $result = ConDB::getInstance()->getContent();
    $output[0][0] = 0;
    $i = 0;

    echo '{"options":[';

    while ($row = pg_fetch_array($result)) {
        if($i!=0) { echo ","; } // add ","

        $output[$i] = array("id"=>$row['id'], "city"=>$row['city'], "street"=>$row['street']);
        
        echo json_encode($output[$i]);
        $i++;
    }

    echo "]}";
?>

Код
{"options":[{"id":"1","city":"Lem","street":"Komon"},{"id":"2","city":"Kan","street":"Tera"},{"id":"3","city":"Kajs","street":"Poei"},{"id":"4","city":"Xdfg","street":"Masd"},{"id":"5","city":"Rghs","street":"Kfjd"}]}

PM MAIL   Вверх
scyther
Дата 19.1.2011, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 12.4.2008

Репутация: нет
Всего: нет



не актуально. перешел на jQuery + jqGrid
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0684 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.