2015-07-09 3 views
-2

Это, как я передать массив в функциюКак предотвратить повторное включение одинаковых данных в таблицу?

$rate=$data["rate"];//this is an array like rate[10,20,30,60,70] 
$car->rate = $rate; 
$car->rentalRate(); 

В функции, он принимает массив и вставить в таблицу

public function rentalRate() 
    { 

$rate = implode("','",$this->rate); 
$sql = "INSERT INTO rental(day_1,day_3,day_7,day_15,day_30)VALUES('$rate')"; 
$stmt =connection::$pdo->prepare($sql); 
     $stmt->execute(); 
     unset($rate); 
    } 

проблема, второй раз и далее повторяет записи. Я имею в виду, что в первый раз, когда я вставляю, вставлена ​​только одна строка. Во второй раз я вставляю одну и ту же новую запись, вставленную дважды. В третий раз я вставляю, трижды вставил ... так же идет число, которое я вставляю. Если я обновляюсь, у меня нет этой проблемы.

ЧТО может отслеживать количество времени, в которое я вставляю данные, может ли это быть массив? или ajax?

Это, как я отправить форму через AJAX

$("#submit").on("click",function() 
    { 

      $("#add_car_form").submit(function(){   
      var data = { 
       "action": "test" 
      }; 
      data = $(this).serialize() + "&" + $.param(data); 
      $.ajax({ 
       type: "POST", 
       dataType: "json", 
       url: "add_car_submit.php", //Relative or absolute path to response.php file 
       data: data, 
       success: function(data) { 
       $(".the-return").html("<br />JSON: " + data["json"]); 


       } 
      }); 
      return false; 
      }); 

     }); 

ответ

1

трудно сказать, не видя полный код, но здесь WAHT вы можете сделать: Кулак, использовать средства разработки в вашем браузере и посмотреть, сколько запросы, которые вы отправляете при каждом нажатии. Если они растут с каждым щелчком, это ваша ошибка JS. Если нет, попробуйте var_dump ваши данные POST в точке входа в php scritpt. Если данные не повторяются, возникает проблема с вашей php-частью. (Моя ставка будет с JS, так как по запросу AJAX вы создаете новый экземпляр php-процесса, чтобы он не мог отслеживать ваши сообщения).

+0

спасибо за ваше предложение .. Я проверил на вкладке сети, он показывает, что php-скрипт отправляется несколько раз, и когда я проверил базу данных, это много раз записывается. – 112233

+0

любая идея о том, как отправить форму только один раз? – 112233

+0

Я решил проблему, перебив значение формы после отправки – 112233

Смежные вопросы