2015-12-19 2 views
2

У меня есть кнопка, когда пользователь нажимает add button Я JavaScript и Ajax отправить данные в php добавить в array для магазина в session.PHP Как добавить массив в массив Unlimit

вот мой код JavaScript

 var xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
       if (xhttp.readyState == 4 && xhttp.status == 200) { 
       } 
    }; 
    xhttp.open("GET","/ajax_addItem.php?id="+id+"&name="+name+"&price="+price+"&task=storeSession", true); 
    xhttp.send(); 

И это PHP

 $id = $_GET['id']; 
    $name = $_GET['name']; 
    $price = $_GET['price']; 
    $_SESSION['name']= array("id"=>$id,"name"=>$name,"price"=>$price); 

Моя проблема, связанная с PHP, Мой код данных всегда заменить новости данные, когда я нажимаю add button .Как я могу добавить все до $_SESION['name'] как Array in Array или Array list?

+0

к тому, кто до голосования, я дон Не понимаю, почему я просто задаю вопрос и голосую? – Songs

+1

Вам нужно обновить массив '$ _SESSION ['name']' в '$ _SESSION ['name'] []'. Почему вам нужно обновлять, потому что всякий раз, когда вы нажимаете новейшие данные, он заменяет последний и сохраняет самую новую. [Проверить это] (https://3v4l.org/GnMLH) –

+1

'$ _SESSION ['lastpostedstuff'] = $ _POST;' – Santy

ответ

1

Если вы хотите $_SESSION['name'] быть массивом массивов, создать $_SESSION['name'] как массив первого, и используйте кронштейн нотации [] выдвинуть новые массивы в него, то есть:

// Create new array if it doesn't exist 
if(!isset($_SESSION['name'])) { 
    $_SESSION['name'] = array(); 
} 

// Retrieve request parameters 
$id = $_GET['id']; 
$name = $_GET['name']; 
$price = $_GET['price']; 

// Push new array 
$_SESSION['name'][] = array(
    "id" => $id, 
    "name" => $name, 
    "price" => $price 
    ); 
+0

это работа, спасибо – Songs

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