Вставьте несколько массивов с помощью PHP PDO - PullRequest
0 голосов
/ 19 сентября 2019

Я делаю программу на PHP, но мне впервые нужно ввести много массивов в таблицу.Во входных данных я должен поместить [], но как сделать запрос вставки, как я должен делать?То, что я представляю в коде, сохраняет только последнее значение без [], а в консоли он передает нужные мне значения, но вставляет только последнее значение.

<form class="" action="asignar-fechas.php" method="post">
  <?php foreach ($infoGrupo2 as $iGrupo2){
  if(($iGrupo2['fechaInicio']==$fechaA['numero_fecha'])){
      ?>
        <input type="hidden" name="id_grupo2[]" value="<?php echo $iGrupo2['id_grupo'];?>">
        <input type="hidden" name="modo2[]" value="<?php echo $iGrupo2['modo'];?>">
        <input type="hidden" name="fecha2[]" value="<?php echo $iGrupo2['fechaInicio'];?>">
          <input type="hidden" name="participante[]" value="<?php echo $iGrupo['participante'];?>">
          <input type="hidden" name="jugador<?php echo $juga;?>[]" value="<?php echo $in2['id_users'];?>">
}}?>
<input type="submit" name="enviar" value="ASIGNAR FECHAS">

asignar-fechas.php

   $id_grupo = $_POST['id_grupo2'];
  $modo = $_POST['modo2'];
  $fecha = $_POST['fecha2'];
  $participante = $_POST['participante'];
  $j1 = $_POST['jugador1'];
  $j2 = $_POST['jugador2'];
  $j3 = $_POST['jugador3'];
  $j4 = $_POST['jugador4'];

$insertarF = "INSERT INTO fechaxgrupo (grupo, fecha,estado) VALUES (:grupo, :fecha,0)";
$insertF = $conn->prepare($insertarF);
$insertF->bindParam(':grupo', $id_grupo);
$insertF->bindParam(':fecha', $fechaa);
$insertF->execute();

1 Ответ

3 голосов
/ 19 сентября 2019

Элементы переменных $_POST будут массивами, вы можете зацикливать их.Вам нужно привязать к переменным итерации, а не к массивам.

$insertarF = "INSERT INTO fechaxgrupo (grupo, fecha,estado) VALUES (:grupo, :fecha,0)";
$insertF = $conn->prepare($insertarF);
$insertF->bindParam(':grupo', $id_grupo);
$insertF->bindParam(':fecha', $fecha);
foreach ($_POST['id_grupo2'] AS $i => $id_grupo) {
    $fecha = $_POST['fecha2'][$i];
    $insertF->execute();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...