Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.03.2011, 06:58
Интересующийся
Отправить личное сообщение для skalka Посмотреть профиль Найти все сообщения от skalka
 
Регистрация: 12.08.2010
Сообщений: 23

Повтор запросов к базе и следствие дублирование записей в таблице
Здравствуйте. Подскажите пожалуйста в чем проблема.

Вот такой вот код:

function saveRow(){
        var data = {};
        var model = jQuery("#tInputTasksIT").getGridParam("colModel");
        for (var i in model){
          if(jQuery("input:text#e" + model[i].name).length>0){
                data[model[i].name] = jQuery.trim(jQuery("input:text#e" + model[i].name).val());
           }
          if(jQuery("input:checkbox#e" + model[i].name).length>0){
               data[model[i].name] = jQuery("input:checkbox#e" + model[i].name).attr("checked") ? 1 : 0;
            }
          if(jQuery("textarea#txt" + model[i].name).length>0){
               data[model[i].name] = jQuery.trim(jQuery("textarea#txt" + model[i].name).val());
            }
        }
        var id = jQuery("#tInputTasksIT").getGridParam("selrow");
        if(id){
            if(!jQuery("#tInputTasksIT").jqGrid('setRowData', id, data)) alert("Не удалось сохранить данные");
            data.oper = "edit";
            data.id = id;
         
        } else data.oper = "add";
       
            
        
        jQuery.post('/content/inputtasks/inputtasksdata.php', data);

 }


Формируется массив с данными, отправляется для добавления в базу. Операция add.

PHP код:

if($operation=='add'){
           

        $names = null;
        $values = null;
        foreach ($fvalues as $fvalue){
            $names .= (isset($names) ? ', ' : '') . $fvalue['name'];
            $values .= (isset($values) ? ', ' : '') . $fvalue['value'];
        }
        $sql = 'INSERT INTO `' . CONF::$PROJECTMANAGER_DB_NAME . '`.`' . CONF::$PROJECTMANAGER_PROJECTS_TABLE_NAME . "` ($names) VALUES ($values)";
      //  $log->WriteLogMessage($sql);
        }



Ну это отрывок только собственно где добавление происходит.

Так вот проблема в том что js запрос к базе
jQuery.post('/content/inputtasks/inputtasksdata.php', data);
дублируется ровно 4 раза!!! В базу добавляется 4 записи!! Причем по моему только в опере. Мозила нормально реагирует. И на тестовой машине все было ок. Как выложили на сервак начались глюки((( Подскажите в чем может быть проблема.
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2012, 19:49
Новичок на форуме
Отправить личное сообщение для zubar Посмотреть профиль Найти все сообщения от zubar
 
Регистрация: 06.03.2012
Сообщений: 1

попробуй в сессию сохранить

при добавлении вызываем
$_SESSION['data_'.CONF::$PROJECTMANAGER_DB_NAME]=$values;

птом проверить просто
if ($_SESSION['data_'.CONF::$PROJECTMANAGER_DB_NAME]!=$values)
работаем
else
неработаем так как дублирование записи
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск