Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не обновляется информация из базы как решить???

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Не обновляется информация из базы как решить???
3d_killer
Отправлено: 09 Декабря, 2011 - 06:24:13
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Не обновляется информация из базы как решить???

имеется код отображения информации из базы:
CODE (javascript):
скопировать код в буфер обмена
  1. $('#menu_id').change(function ()
  2.                         {
  3.                         var menu_id = $(this).val();           
  4.                                 $.get("blocks/table.php", { table: menu_id},
  5.                                 function(data)
  6.                                         {
  7.                                                 $('.data').html(data);
  8.                                         });
  9.                         });


код поднятия позиции ну то есть порядка меню:

CODE (javascript):
скопировать код в буфер обмена
  1. $('.Bottom.Up').live('click', function()
  2.                         {
  3.                                 var menu_id=$('#menu_id').val();
  4.                                 id=$(this).parents('td.razdel').data('id');    
  5.                                 $.get("blocks/position.php", { table: menu_id, action:"up", id:id});
  6.                                         $.get("blocks/table.php", { table: menu_id},
  7.                                         function(data)
  8.                                                 {
  9.                                                         $('.data').html(data);
  10.                                                 });
  11.                         });


код отрабатывает нормально, но при первом нажатии на позицию она поднимается вверх и все визуально отображается, при нажатии второй раз не важно на какую позицию, код отрабатывает но визуально смену позиций не показывает. При нажатии 3 раз визуально отображается и предидущее действие и текущее. Подскажите в чем проблема что я делаю не так??? Огорчение

на всякий случай выкладываю код обработки смены позиции:

PHP:
скопировать код в буфер обмена
  1. if ($action=='up')
  2.         {
  3.                 $nomber=mysql_query("SELECT nomber FROM $table WHERE id=$id");
  4.                 while ($result=mysql_fetch_array($nomber))
  5.                         {
  6.                                 if ($result['nomber']=='1')
  7.                                         {
  8.                                                 echo ('и так верхний уровень');
  9.                                         }
  10.                                 else
  11.                                         {
  12.                                                
  13.                                                 $nomber1=$result['nomber'];
  14.                                                 echo($nomber1);
  15.                                                 mysql_query("UPDATE $table SET nomber = $nomber1 WHERE nomber=$nomber1-'1'");
  16.                                                 mysql_query("UPDATE $table SET nomber = $nomber1-'1' WHERE id=$id");
  17.                                                 echo("позиции обновлены");
  18.                                         }
  19.                         }
  20.         }

Прикреплено изображение (Нажмите для увеличения)
Служебная записка.JPG

(Отредактировано автором: 09 Декабря, 2011 - 06:30:18)

 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 06:41:05
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




WHERE nomber = $nomber1-'1' вы из строки стоку отнимаете? Намек ясен?


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 06:48:13
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




нет nomber это число
Прикреплено изображение (Нажмите для увеличения)
Служебная записка.JPG
 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 06:50:10
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




ну ладно из числа стоку вычитаете..
(Добавление)
хотя должно преобразовываться


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 06:51:50
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




3d_killer пишет:
нет nomber это число


даже если кавычки убрать код php работает нормально проверяю в базе, а отображение через раз идет вот почему??? Идет через раз точно так как если страничку обновлю то изменения вижу

(Отредактировано автором: 09 Декабря, 2011 - 06:52:50)

 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 06:57:41
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




кеширование включено?


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 07:04:12
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Данил_123 пишет:
кеширование включено?
нет, так как, на вторую попытку тоже не отображалось бы.
 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 07:12:28
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




3d_killer я просто проверяю все варианты.. Денвер? Проверьте ява скрипт .


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 07:15:58
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Данил_123 пишет:
3d_killer я просто проверяю все варианты.. Денвер? Проверьте ява скрипт .

да стоит денвер, но проверял на двух хостах в инете то же самое, может поставить задержку? я уже не знаю что предпринять
(Добавление)
3d_killer пишет:
Данил_123 пишет:
3d_killer я просто проверяю все варианты.. Денвер? Проверьте ява скрипт .

да стоит денвер, но проверял на двух хостах в инете то же самое, может поставить задержку? я уже не знаю что предпринять
не задержка не помогла
 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 07:18:27
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




если работает раз в интервал времени, то ставте.. Если просто через раз, то не знаю


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 07:21:35
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




Данил_123 пишет:
если работает раз в интервал времени, то ставте.. Если просто через раз, то не знаю
работает через раз....
 
My status
 Top
Данил_123
Отправлено: 09 Декабря, 2011 - 07:25:21
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




Цитата:
Если просто
через раз, то не знаю


-----
http://mysitecost.ru
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 07:51:15
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




может, кто сталкивался помогите решить проблему Огорчение
 
My status
 Top
tuareg
Отправлено: 09 Декабря, 2011 - 07:59:52
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Все правильно так и должно работать.
Теперь по коду
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('.Bottom.Up').live('click', function(){
  3.    var menu_id=$('#menu_id').val();
  4.    id=$(this).parents('td.razdel').data('id');    
  5.    $.get("blocks/position.php", { table: menu_id, action:"up", id:id});
  6.    $.get("blocks/table.php", { table: menu_id},function(data)   {
  7.         $('.data').html(data);
  8.    });
  9. });
  10.  

Вы сами подумайте. Вы отправляете первый запрос. Он ушел на сервер, но ответ от него еще не пришел, тут же отправляете второй?? И получается что первый еще не выполнился а Вы получаете рез-т второго
В данном случае мы ждем ответа от первого запроса и только потом делаем второй.
Скорее всего придется что-то возвращать первому запросу типа 'ОК'.
Да и еще первый запрос может быть (лучше сделать getJSON) вариант для JSON
Решение
PHP:
скопировать код в буфер обмена
  1.  
  2. if ($action=='up')
  3.         {
  4.                 $nomber=mysql_query("SELECT nomber FROM $table WHERE id=$id");
  5.                 while ($result=mysql_fetch_array($nomber))
  6.                         {
  7.                                 if ($result['nomber']=='1')
  8.                                         {
  9.                                                 $response->rows['otvet']=0;
  10.                                         }
  11.                                 else
  12.                                         {
  13.                                                
  14.                                                 $nomber1=$result['nomber'];
  15.                                                 mysql_query("UPDATE $table SET nomber = $nomber1 WHERE nomber=$nomber1-'1'");
  16.                                                 mysql_query("UPDATE $table SET nomber = $nomber1-'1' WHERE id=$id");
  17.                                                $response->rows['otvet']=1;
  18.                                         }
  19.                         }
  20. header('Content-Type: text/json;charset=UTF-8');
  21. $response->rows['otvet']=$arr;
  22.                 $response = json_encode($response);
  23.                 echo $response;
  24.         }
  25.  
  26.  

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $('.Bottom.Up').live('click', function(){
  3.    var menu_id=$('#menu_id').val();
  4.    id=$(this).parents('td.razdel').data('id');    
  5.    $.getJSON("blocks/position.php", { table: menu_id, action:"up", id:id}),function(json){
  6.        if(json.rows.otvet==1){
  7.         $.get("blocks/table.php", { table: menu_id},function(data)   {
  8.           $('.data').html(data);
  9.         });
  10.      }
  11.    });
  12. });
  13.  

Вот как-то так, я код не проверял, возможны ошибки.
P.S Вообще функцию сортировки для можно выполнить одним запросом MySQl
 
 Top
3d_killer
Отправлено: 09 Декабря, 2011 - 08:12:14
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




спасибо щас буду пробовать
(Добавление)
Действительно дело в этом!! переписал запрос:

CODE (javascript):
скопировать код в буфер обмена
  1. $('.Bottom.Up').live('click', function()
  2.                         {
  3.                                 var menu_id=$('#menu_id').val();
  4.                                 id=$(this).parents('td.razdel').data('id');    
  5.                                 $.get("blocks/position.php", { table: menu_id, action:"up", id:id})
  6.                                 .complete(function()
  7.                                         {
  8.                                                 $.get("blocks/table.php", { table: menu_id},
  9.                                         function(data)
  10.                                                 {
  11.                                                         $('.data').html(data);
  12.                                                 });
  13.                                         });
  14.                                        
  15.                                        
  16.                         });


Все работает четко никаких ошибок
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB