2016-10-19 2 views
-1

Я создал скрипт, который добавляет элементы при щелчке по массиву.Как получить динамически созданный массив в jquery в PHP

$(document).ready(function() 
    { 
     var array_ids = []; 
     $('.add').click(function() 
     { 
      array_ids.push($(this).parent().siblings('.row_id').html().trim()); 
      alert(array_ids);  
     }); 
    }); 

Элементы поступают из базы данных mysql, поэтому я храню первичные ключи элементов. ключи хранятся в массиве, как таким образом

1,2,3,4,5 

Теперь я хочу, чтобы этот массив в PHP, так что я мог бы хранить в базе данных по одному.

Я думал, что делать некоторые Ajax, и это мой код

$('.show').click(function(e) 
     { 
      //e.preventDefault(); 

      $.ajax(
      { 
       method: 'POST', 
       url: 'createsale.php', 
       data: {items: array_ids}, 
       success: function() 
       { 
        alert('done'); 
       } 
      }); 
     }); 

я получаю сделано предупреждение, но не удавалось получить его хранится в базе данных. Может ли кто-нибудь сказать, как вставить эти элементы в mysql?

+0

где ' createale.php'? – nogad

+0

Я не мог придумать, как получить отправленный массив! Я, хотя $ result = $ array_id; будет работать, но нет. – Alexis

+0

Данные, отправленные на php через GET/POST, хранятся в суперглабильных '$ _GET' и' $ _POST' –

ответ

1

Отправьте это значение с Javascript с помощью Json{"key":value} или массив [1,2,3]. Пока вы их используете в PHP, вы можете использовать json_decode() для преобразования Json или массива из Javascript в PHP.

Если вы хотите, чтобы ваша информация была от PHP до Javascript, просто используйте funtion json_encode(), который отправит строку json.

Ref: json_encode, json_decode

+0

http://stackoverflow.com/questions/40121432/cannot-access-array -from-jquery см. этот вопрос – Alexis

+0

Этот ответ правильный, json_encode, json_decode - это методы для обработки данных массива/Jason в php и из php в JavaScript/HTML – iswak

0

файл createsale.php должен есть что-то вроде этого ниже код, чтобы получить массив данных & не забудьте, чтобы избежать данных с помощью mysql_real_escape_string, прежде чем делать какие-либо MySQL Query

<?php 
      if(isset($_POST["items"]) && $_POST["items"] !=""){ 
      $arr = $_POST["items"]; 
      //convert JS array to PHP array 
      $arr = json_decode($arr,true); 
      //then you have your PHP array => new array(1,2,3,...); 

      /* use for/forEach loop 
     for($i=0;$i<count($arr);$i++){ 
      do the task 
     } 
      */ 
     } 
    ?>