Показать сообщение отдельно
  #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 записи!! Причем по моему только в опере. Мозила нормально реагирует. И на тестовой машине все было ок. Как выложили на сервак начались глюки((( Подскажите в чем может быть проблема.
Ответить с цитированием