powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сохранить данные в бд и обновить табл в Extjs
15 сообщений из 15, страница 1 из 1
сохранить данные в бд и обновить табл в Extjs
    #37924371
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть табл Ext.ux.LiveSearchGridPanel, store, model. данные отображаются. сделал редактируемые поля.
1. как изменённые данные из табл, те из store передать, в бд mssql ?? загружаются данные из бд через json в php-файле.
2. как обновить ТОЛЬКО табличные данные?? сейчас я обновляю всё страницу. надо сделать обновление по нажатию на кнопку.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
store
var store = new Ext.data.Store({
  autoLoad: true,
  autoSync: true,
  autoSave: true,
  batch : true,
  model: 'Plant',
	proxy: 
	{
        type: 'ajax',
        url: '111.php',
	    reader: 
		{
        	type: 'json',
                root: 'data'		
        },		
		writer: 
		   {
	            type: 'json',
	            root: 'data'
	        }
    },
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37924773
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для обновления использовал

Код: javascript
1.
2.
grid.reconfigure(store);
grid.refresh()



не помогает.
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37925062
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал ещё так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
var refreshAction = Ext.create('Ext.Action', 
	{
        text: 'Refresh',
		weight:150,
		height:28,
              handler: function(widget, event) 
		{	
			//this.grid.refresh();
			//grid.reconfigure(store);
			//grid.onRefresh(store)
			//grid.reload(store);
			store.getView().refresh();
		}
	});


не получается по нажатию на кнопку обновить только табл. подскажите, плз
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37925206
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seeerg_231. как изменённые данные из табл, те из store передать, в бд mssql ??
Код: javascript
1.
2.
3.
4.
5.
store
var store = new Ext.data.Store({
  autoSync: true,
  autoSave: true,
  batch : true,



/me вспоминает:
АБС....большая машина "воин-купол" пришла в движение от пальца в отверстии пятом и от пальца в отверстии сорок седьмом, и движение было неодолимое, быстрое и прямое...

1. Вот скажите: где Вы в Ext.data.Store узрели autoSave / batch ?
2. Судя по autoSync: true , у Вас все изменения на сервант отправляются автоматически (см. Tools -> Web Developer -> Firebug -> Console)
seeerg_232. как обновить ТОЛЬКО табличные данные?? сейчас я обновляю всё страницу. надо сделать обновление по нажатию на кнопку.

Ext.data.Store.reload()
seeerg_23для обновления использовал
Код: javascript
1.
2.
grid.reconfigure(store);
grid.refresh()


не помогает.

/me думает: не мудрено... Ext.grid.Panel.reconfigure() - вообще из другой оперы... А refresh() снова плод Ваших фантазий. Скажите, Вы хоть иногда в Tools -> Web Developer -> Error Console посматриваете? Посмотрите - найдете много интересного.
Ну и, скорее всего , пагубное влияние VCL дает о себе знать... Поймите: grid - только визуализирует данные. Сами данные хранятся в store. По сему - reload'ить нужно store. Хотя, повторюсь, в Вашем случае (с autoSync: true ) - этого делать не нужно. При правильном ответе сервера все произойдет само.
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37925218
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо за консультацию.

скажите, а как запись данных будет происходить в бд ?? чтение из бд происходит по цепочке: бд-> php (json)-> store (json) -> grid
а для записи данных php будет участвовать?
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37925316
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08/21/2012 07:19 PM, seeerg_23 wrote:
> скажите, а как запись данных будет происходить в бд ?? чтение из бд происходит по цепочке: бд-> php (json)-> store (json) -> grid
> а для записи данных php будет участвовать?
Ну конечно. Иначе каким тогда макаром данные с клиента в БД попадут? Используя Вашу терминологию

store -> php -> бд -> php -> store -> grid

Если Вы установите Firebug (если он еще не установлен), откроете его (F12), то на TAB'е Console сможете увидеть, как Ваш Store, сконфигурированный с autoSync: true , отсылает запрос на сервер.

P.S. BTW, в Console Firebug'а так же можно посмотреть ошибки. Их количество показывается возле иконки Firebug'а в Toolbar'е - обращайте на это внимание.

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926271
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в пхп ещё нужно что-то прописывать для передачи изменённых данных в бд??
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926313
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seeerg_23а в пхп ещё нужно что-то прописывать для передачи изменённых данных в бд??
Ну... Как минимум нужно сказать базе update ...
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926711
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(оформляю по правилам). Сейчас всё работает в режиме чтения. из бд данные передаются в store через php и отображаются в гриде. Столбец ФИО сделал редактируемым. в бд написал хранимую процедуру на изменение данных этого столбца. При запуске хранимки выводится параметр @FIO, который запишет введённое значение в строку. Есть ID, по которому определяется строка изменения.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
ALTER PROCEDURE [dbo].[sp_123]
	@ID int,
	@FIO varchar(50) = null, 
AS
begin
  set nocount on;
Update dbo.v_123
set FIO=@FIO 
where (ID=@ID)


те, нужно в эти 2 параметра передать значения из грида. ID должен определяться из выделенной строки,а ФИО вручную введённый в редактируемой строке, а затем передать их в пхп, который передаст эти значения в хранимку, а уж она запишет в табл. Прошу помощи, тк не знаю как это сделать.

думаю -то так 1. присвоить столбцу параметры для получения занчений
Код: javascript
1.
2.
grid.SelectedRow(@ID); 
grid.SelectedRow(@FIO); 


2. store есть у меня и reader, и writer
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
var store = new Ext.data.Store({
  autoLoad: true,
  autoSync: true,
  model: 'Plant',
	proxy: 
	{
        type: 'ajax',
        url: 'data.php',
	    reader: 
		{
        	type: 'json',
                root: 'data'		
        },		
		writer: 
		   {
	            type: 'json',
	            root: 'data'
	        }
    },


3. store должен передать эти параметры в пхп
в пхп есть переменная $sql = " select.... from' - те просто чтение данных.
думаю создаётся ещё переменная
Код: sql
1.
$sql_update = "select @ID, @FIO from MyStoreProc"


4. надо вызвать хранимку для передачи ей данных, которая запишет их в табл.
помогите разобраться, плз. что в store дописать, в пхп??
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926894
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот до чего я дошёл. исправьте меня , плз везде: в пхп и в extjs.
в store создал write
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
var store = new Ext.data.Store({
  autoLoad: true,
  autoSync: true,
  model: 'Plant',
	proxy: 
	{
        type: 'ajax',
        url: 'data.php',
	    reader: 
		{
        	type: 'json',
                root: 'data'		
        },
        type: 'ajax',
        url: 'data_upd.php',	
		writer: 
		   {
	            type: 'json',
	            root: 'data'
	        }
    },


данные выделенной строки надо ж передать (тут неправильно, прошу помощи)
Код: javascript
1.
2.
3.
4.
5.
6.
var rec_upd = grid.getSelectionModel().getSelection()[0];
  if (rec_upd) 
	{
	 grid.SelectedRow('ID')=@ID,
         grid.SelectedRow('FIO')=@FIO,
	}


в пхп вот так написал (раньше это был файл чтения данных, другой запрос, а закоменченный цикл работал. переделал под запись данных. тоже неправильно, прошу помощи)
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?php
$aa = array();
$server = 'server';
$link = mssql_connect($server, '122', '122');

if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}

mssql_select_db ('database', $link);

$sql_update = "exec dbo.sp_123
@MachineID=[ResourceID], 
@FIO=[FIO]";

$result = mssql_query($sql);

//while ($row = mssql_fetch_assoc($result)) 
//	{
	  $output[]=$row;
//    }
	$aa['data']=$output;
	$aa['success']=true;
	$result = json_encode($aa);
    echo $result;	
?> 
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926965
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите, Вы топик по диагонали читаете?
Ex_SoftЕсли Вы установите Firebug (если он еще не установлен), откроете его (F12), то на TAB'е Console сможете увидеть, как Ваш Store, сконфигурированный с autoSync: true , отсылает запрос на сервер.

Вы это сделали? Что в консоли после того, как вы внесли изменения в поле в гриде?
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37926976
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BTW,
http://docs.sencha.com/ext-js/4-1/source/JsonStore.html#Ext-data-JsonStore
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Ext.define('Ext.data.JsonStore',  {
    extend: 'Ext.data.Store',
    alias: 'store.json',
    requires: [
        'Ext.data.proxy.Ajax',
        'Ext.data.reader.Json',
        'Ext.data.writer.Json'
    ],

    constructor: function(config) {
        config = Ext.apply({
            proxy: {
                type  : 'ajax',
                reader: 'json',
                writer: 'json'
            }
        }, config);
        this.callParent([config]);
    }
});



Как видите - "...все уже украдено до нас..." © По сему:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
var store = new Ext.data.JsonStore({
  autoLoad: true,
  autoSync: true,
  model: 'Plant',
  proxy: {
        url: 'data.php'
  }
}


дожно хватить (чтобы было поменьше букв)
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37927011
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо. попробую. а про выделенные данные ничё не сказали. как правильно присвоить значение выделенной строки переменной ?? и про передачу значений из пхп в бд , исправьте меня.
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37927026
seeerg_23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
....
constructor ...
.....
var store = new Ext.data.JsonStore({
  autoLoad: true,
  autoSync: true,
  model: 'Plant',
  proxy: 
 {
        url: 'data_upd.php'
  }
 handler: function() 
{
 var rec_upd = grid.getSelectionModel().getSelection()[0];
  if (rec_upd) 
	{
	 grid.SelectedRow('ID')=@ID,
         grid.SelectedRow('FIO')=@FIO
	}
}}



Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?php
$aa = array();
$server = 'server';
$link = mssql_connect($server, '122', '122');
if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
mssql_select_db ('database', $link);

$sql_update = "exec dbo.sp_123
@MachineID=[ResourceID],   может здесь поля в ' ' или ()  ??
@FIO=[FIO]";

$result = mssql_query($sql);

//while ($row = mssql_fetch_assoc($result)) 
//	{
	  $output[]=$row;
//    }
        $aa['data']=$result;
	$aa['success']=true;
	$result = json_encode($aa);
//    echo $result;	
?> 



исправьте меня, что не так, плз
...
Рейтинг: 0 / 0
сохранить данные в бд и обновить табл в Extjs
    #37927270
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот Вам дрозофила . Надеюсь - разберетесь...
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / сохранить данные в бд и обновить табл в Extjs
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]