В настоящее время у меня есть массив:
$movie_seat = "seat1, seat2, seat3, seat4";
foreach($movie_seat as $keys =>$values)
{
$movie_id = $values["movie_id"];
$movie_seats = $values["movie_seats"];
$query = "INSERT INTO `testing` (`movie_id`,`movie_seat`) VALUES ('$movie_id ','$movie_seats')" ;
$addmoviequery = mysqli_query($conn,$query);
if (!$addmoviequery){
die("QUERY FAILED".mysqli_error($conn));
}
из массива я получу следующий результат, сохраненный в базе данных. Он сохранит весь массив в столбце movie_seat.
+-----------------+-------------------------------+
| movie_id | movie_seat |
+-----------------+-------------------------------+
| movie01 | seat1, seat2, seat3 |
| movie02 | seat5,seat6 |
+-----------------+-------------------------------+
однако я хотел бы записать в базу данных для другого столбца
Результат, который я хочу:
+-----------------+-------+-------+-------+-------+-------+-------+
| movie_id | seat1 | seat2 | seat3 | seat4 | seat5 | seat6 |
+-----------------+-------+-------+-------+-------+-------+-------+
| movie01 | booked|booked |booked | | | |
| movie02 | | | | |booked |booked |
+-----------------+-------+-------+-------+-------+-------+-------+
Я попытался использовать функцию взорваться, но она покажет
Warning: Invalid argument supplied for foreach() in C:\
да .. я пропустил $ ..






В том, что вы делаете, есть несколько ошибок.
$movie_seat = "seat1, seat2, seat3, seat4";
Это не array. Это string.
Вам нужно explode в массив, например:
$seats = explode(",", $movie_seat);
Это создаст array строк с именем $seats, где $seats[0] равно "seat1" и т. д.
Затем вам нужно использовать foreach, используя новый массив, который вы создали, а не старую переменную. Как это:
foreach($seats as $key => $value)
{
//Your code goes here,
//First iteration should give you $key = 0, $value = "seat1", etc...
}
Во-первых, в
foreachиспользуйте$movie_seat, а неmovie_seat.