我对阵列感到非常困惑,我希望有人可以帮助我。
我试图将用户选择的各种图片存储在mysql数据库中(一次最多可选择3张图片)。选择实际上是每张图片下面的复选框,我想将这些选项存储为$ pic_id' s。
这些选择存储在我的数据库中,但似乎没有像我预期的那样分配键,我似乎无法使用它们。
我希望能够使用图片ID来显示所做的选择。
这是我的结果: [7] => 11,6 [8] => 9,8
但我需要单独获取这些变量。 我希望这个: [7] => 11,[8] => 6,[8] => 9,[9] => 8
表格:
<form action="insert.php" method="GET">
<?php
<input type=\"checkbox\" name=\"pic_id[]\" value=".$row['id'].">
<input type="submit" name="submit" value="Add" />
?>
insert.php
$checkBox = implode(',', $_GET['pic_id']);
if (isset($_GET['submit'])) {
$sql="INSERT INTO pics (pic_id) VALUES ('" . $checkBox . "')";
打印阵列
<?php
$sql="SELECT * FROM pics";
$query = mysqli_query($conn, $sql);
$myArray = Array();
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$myArray[]=$row['pic_id'];
}
print_r($myArray);
?>
见上面的结果。
答案 0 :(得分:0)
只需将值插入数据库时将它们连接起来即可。然后遍历结果并将它们添加到数组中。
<?php
$sql="SELECT * FROM pics";
$query = mysqli_query($conn, $sql);
$myArray = array();
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
foreach(explode(',', $row['pic_id']) as $id) {
$myArray[]= $id;
}
}
print_r($myArray);
?>