2016-06-10 5 views
0

Я отправил массив JSON в виде строки из запроса волейбола в Android, и я декодирую его с расширением JSON. Вот мой PHP код:Как написать запрос для каждого элемента json_decode?

if($_SERVER['REQUEST_METHOD']=='POST'){ 
    //Getting values 
    $courseList = $_POST['courseList']; 

    $professor_ID = $_POST['Prof_ID']; 

    $list = json_decode($courseList); 

    print_r($list); 
    require_once('dbConnect.php'); 

$sql = "select Stud_ID,student.f_Name,student.l_Name from student,course where course.S_ID = student.Stud_ID and course.P_ID in ($list)"; 
. 
. 
. 
?> 

А вот print_r ($ список) Результат:

Array 
(
[0] => 1 
[1] => 2 
) 

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

ответ

1

Возможное решение (если я правильно понял проблему):

implode(', ', $list) 

$sql = "select Stud_ID,student.f_Name,student.l_Name from student,course where course.S_ID = student.Stud_ID and course.P_ID in (implode(', ', $list))"; 
2

Вы можете использовать цикл Еогеасп или обрушится

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 
    //Getting values 
require_once('dbConnect.php'); 
// i am assuming $con is your connection variable 

// its good practice to check against sql injection 
$courseList = mysqli_real_escape_string($con, $_POST['courseList']); 
$professor_ID = mysqli_real_escape_string($con, $_POST['Prof_ID']); 

$list = json_decode($courseList); 

print_r($list); 

// Assuming $list is 
// Array 
// (
// [0] => 1 
// [1] => 2 
// )  

foreach ($list as $p_id) { 
    // prepare your query 
    $sql = "select Stud_ID,student.f_Name,student.l_Name from student,course where course.S_ID = student.Stud_ID and course.P_ID = $p_id "; 
    // execute and do other stuff 
} 

// or use implode 
$pid = (implode(', ', $list); 
$sql = "select Stud_ID,student.f_Name,student.l_Name from student,course where course.S_ID = student.Stud_ID and course.P_ID in $pid "; 
// execute and do other stuff 


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