Byłem bardzo zdezorientowany przez tablice i mam nadzieję, że ktoś może mi w czymś pomóc.
Próbuję przechowywać wybory użytkowników różnychzdjęcia w bazie danych mysql (do 3 zdjęć do wyboru na raz). Wybory są w rzeczywistości zaznaczone poniżej każdego obrazu i chcę zapisać te selekcje jako $ pic_id w tablicy.
Wybory są zapisywane w mojej bazie danych, ale wydaje się, że nie są one przypisywane do kluczy zgodnie z oczekiwaniami i nie mogę ich użyć.
Chcę móc użyć identyfikatora obrazu, aby pokazać dokonane selekcje.
Oto mój wynik: [7] => 11,6 [8] => 9,8
ale muszę uzyskać te zmienne indywidualnie. Spodziewałbym się tego: [7] => 11, [8] => 6, [8] => 9, [9] => 8
Formularz:
<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 . "")";
Drukuj tablicę
<?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);
?>
Zobacz wynik powyżej.
Odpowiedzi:
0 dla odpowiedzi № 1Po wstawieniu do bazy danych oddzielaj wartości takie jak połączone. Następnie przejrzyj wyniki i dodaj je do swojej tablicy.
<?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);
?>