Выполнить MySQL запрос в php в цикле с параметрами, хранящимися в arrayList с Android - PullRequest
0 голосов
/ 05 марта 2019

У меня есть приложение ArrayList () в моем приложении для Android, содержащее названия книг.Я использую библиотеку Android Volley для запросов к серверу.Я хочу добавить все эти книги в мой BookList (таблица) в моей базе данных, которая находится на сервере.Я хочу сделать это с помощью одного запроса к серверу, то есть с помощью одного файла PHP.Как можно написать этот php-код таким образом, чтобы он вставлял все эти значения в таблицу с помощью цикла?Некоторые коды будут действительно полезны

1 Ответ

0 голосов
/ 20 марта 2019

Нашел ответ с помощью комментариев.Во-первых, я создал JSONArrays из arrayLists.Затем я разместил их в php через Android Volley.

частные параметры карты;

    JSONArray bookNamesJSON = new JSONArray(Arrays.asList(bookNames));
    JSONArray bookAuthorsJSON = new JSONArray(Arrays.asList(bookAuthors));
    JSONArray subjectsJSON = new JSONArray(Arrays.asList(subjects));


    params = new HashMap<>();
    params.put("candidateId", id + "");
    params.put("bookName",bookNamesJSON.toString());
    params.put("authorName",bookAuthorsJSON.toString());
    params.put("subjectName",subjectsJSON.toString());
    params.put("reqDate",date);

Тогда в php мне пришлось сделать следующее:

$candidateId=$_POST["candidateId"];
$reqDate=$_POST["reqDate"];
$subjectName = json_decode($_POST["subjectName"])[0];
$bookName = json_decode($_POST["bookName"])[0];
$authorName = json_decode($_POST["authorName"])[0];


$response = array();
foreach ($subjectName as $i => $subject) 
{
    $stmt = $conn->prepare("INSERT INTO BookRequisition VALUES (?,?,?,?,?);");
    $stmt->bind_param("dssss", $candidateId, $subject, $bookName[$i], $authorName[$i], $reqDate);
    $stmt->execute();
}


$response["success"] = true;



echo json_encode($response);

Надеюсь, это кому-нибудь поможет.

...