我的Android应用程序中有一个ArrayList(),其中包含书名。我正在使用android Volley库来处理服务器请求。我想将所有这些书添加到服务器上数据库中的BookList(table)中。我想使用单个服务器请求来执行此操作,即使用单个php文件。如何编写此php代码,以便使用循环将所有这些值插入表中?一些代码会很有帮助
答案 0 :(得分:0)
在评论的帮助下找到了答案。 首先,我从arrayLists创建了JSONArrays。然后我通过Android Volley将它们发布到php。
私有地图参数;
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);
希望这对某人有帮助。