powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ExtJS + PHP сохранение измененных данных в БД
3 сообщений из 3, страница 1 из 1
ExtJS + PHP сохранение измененных данных в БД
    #38388370
RomaT24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с распространенной для новичков проблемой - есть Grid с возможностью редактирования загруженных туда данных из БД и сама проблема - при изменении данных и последующем обновлении страницы ничего не обновляется, база остается неизменной. В FireBug проверил, что после изменения данных POST отправляется (в виде JSON-строки, в которой было изменение). Но как правильно эти данные принять, и сделать Update, не могу пока понять(
Код HTML:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<html>
<head>
    <title>ExtJS Example</title>
    
    <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css">
    <script type="text/javascript" src="ext-all-debug.js"></script>
	 <script>
      Ext.Loader.setConfig({
        enabled: true
      });
    </script>
    <script type="text/javascript" src="f_app1.js"></script>
</head>
<body></body>
</html>



Код js:
Код: javascript
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
Ext.application({
    name: 'Hello, Ext!',
    launch: function() {

Ext.define('Cust', {
    extend: 'Ext.data.Model',
	idProperty: 'id',
    fields: [
        {name: 'id', type: 'int'},
        {name: 'fname', type: 'string'},
        {name: 'sname', type: 'string'}
    ]
});

			
var CellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
        clicksToEdit: 1
       // autoCancel: false
    });
	
var store = new Ext.data.JsonStore({
  autoLoad: true,
  autoSync: true,
  model: 'Cust',
  proxy: {
        type: 'ajax',
		api:{
             read:'f_DB.php?act=read',
             update:'f_DB.php?act=update'
            },
            reader: {
               type: "json" //json
            },
            writer: {
                type: "json" //json
            },

        }

});

Ext.create('Ext.grid.Panel', {
        title: 'Пользователи',
        height: 250,
        width: 500,
        store: store,
		plugins: CellEditing,
        columns: [{
           header:'ID',         
           dataIndex:'id',
           editor: {
           allowBlank: false
           }		   
      },{
            header:'Имя',        
            dataIndex:'fname',
			editor: {
            allowBlank: false,
           }
        }, {
            header:'Фамилия',         
            dataIndex:'sname',
			editor: {
            allowBlank: false
           }
        }],
		frame: true,
        renderTo: Ext.getBody()
    });				

}
});	



Код PHP:
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
<?php
$user="Roman";
$password="123";
$db="Roman";
$host="localhost";
$link= mysql_connect($host, $user, $password) or die("MySQL сервер недоступен!".mysql_error());
mysql_select_db($db,$link) or die("Нет соединения с БД".mysql_error());

$act = $_REQUEST['act'];

$objects_table = 'customer';
//$id = 'id';  // поле ID


$data = json_decode(file_get_contents('php://input'), true);
$devid   = $data['id'];
$fname   = $data['fname'];
$sname   = $data['sname'];

switch ($act) {
    case 'read':
       $query = "select * from $objects_table";
       $result = mysql_query($query, $link);
       while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
         {
           $data_c[] = array(
           'id' => $row['id'],
           'fname' => $row['fname'],
           'sname' => $row['sname'],
           );
         }
      $d = json_encode($data_c);
      echo $d;
	  break;
	case 'update':
        $sql = "begin
                    update $objects_table 
                     set 
                         fname = $fname,						 
                     where id  = $devid;
                    commit;
                end;";
        $result_upd = mysql_query($sql, $link);		
        break;
	default:
        echo "default";
}; 

mysql_free_result($result);
mysql_close($link);
?>



Сначала адресовал этот вопрос в тему JS, но посоветовали перенести сюда, т.к. проблема скорее всего связана именно с PHP :) Буду благодарен за помощь.
...
Рейтинг: 0 / 0
ExtJS + PHP сохранение измененных данных в БД
    #38388495
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оффя не советовал перенести
я советовал попросить модераторов, чтобы они перенесли
...
Рейтинг: 0 / 0
ExtJS + PHP сохранение измененных данных в БД
    #38388505
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор:
RomaT24 , а вот кросспостить не надо. Прочтите пожалуйста правила форума. Топик закрыт.

PS: Вообще то, у Вас в коде проблемы более с SQL, нежели с PHP.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ExtJS + PHP сохранение измененных данных в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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