簡體   English   中英

創建數組無法正常工作

[英]Creating Array not working as I thought

我對數組感到非常困惑,希望有人可以幫助我一些。

我試圖將用戶選擇的各種圖片存儲在mysql數據庫中(一次最多可以選擇3張圖片)。 這些選擇實際上是每張圖片下方的復選框,我想將這些選擇存儲為$ pic_id的數組。

這些選擇已存儲在我的數據庫中,但是似乎沒有按我期望的那樣為它們分配鍵,而且我似乎無法使用它們。

我希望能夠使用圖片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);
?>

見上面的結果。

就像將它們插入數據庫時​​將它們串聯起來一樣,只需將它們分開即可。 然后遍歷結果並將它們添加到您的數組中。

<?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);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM