2016-02-13 6 views
-1

У меня есть функция AngularJS, которая отправляет массив на мой PHP. Но как мне пройти через этот массив в PHP и вставить каждое значение в базу данных MySQL. СИ имеет следующий $ HTTP пост:Добавление массива JSON в базу данных MySQL с помощью PHP

var data = { 
    "username": $scope.un, 
    "courses": $scope.selectedCourses 
} 

$http({ 
url: "submitCourses.php", 
method: "POST", 
data: data 
}).success(function(response) { 
    $scope.courseSubmitResponse = response.resp; 

}); 

и $ scope.selectedCourses выглядит как [ "Coen 10", "МАТЕМАТИКА 54", "99" HIST] при передаче по. Итак, как я могу вставить каждое из этих значений в мою базу данных? Есть ли способ, которым я могу назначить переменную php для массива, а затем сделать цикл for этой переменной php? Ваша помощь очень ценится.

ответ

-1

Я предполагаю, что данные, переданные с клиентской стороны на сервер, являются json.

ниже фрагмент кода:

$data = json_decode($data, true); 

foreach($data as $element) { 
    list($subject, $mark) = explode(" ", $element); 
    // insert using PDO into the database. 
} 
-1

Получение доступа к данным с помощью:

$data   = json_decode(file_get_contents('php://input')); 

$user   = $data->username; 
$coursesArray = $data->courses; 

Затем перебираем ваши курсы и делать то, что вам нужно

0
var data = { 
    "username": $scope.un, 
    "courses": $scope.selectedCourses 
} 

$http({ 
url: "submitCourses.php", 
method: "POST", 
data: data 
}).success(function(response) { 
    $scope.courseSubmitResponse = response[0].resp; 

}); 

Попробуйте этот код только если длина массива ответа равна единице, и если вы получили несколько записей в ответ, вам нужно получить значение динамически, чтобы цикл был использован usefu ll

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