Вводить 'N' разы реестров с самим Неудар в лунку

Добрый день у меня есть формуляр, где они производятся неудар в лунку автоматически с for в зависимости от распределенного числа. Кратко формуляр 4 полей производится n разы, чтобы информация сохраняется для того же самого, пойдите.

Проблема состоит в том, что они производятся неудар в лунку с тем же "ямсом", и это способствует, тому, чтобы послав вводить их только, они сохраняли линия

Вопрос такой, как он делается ему, чтобы помещать их в договоренность и менять им имя в "ямс" неудара в лунку для того, чтобы сохраняли их n числа inputs в единственной консультации

<?php  
    $cantidadI=3;
 ?>
<div id="contenedor">
    <form id="datos" action="inserta.php" method="post">
        <div id="tabla">
            <table>
                <?php for ($i=0; $i<=$cantidad; $i++) { 

                ?>
                <tr>
                    <td colspan="4" align="center">
                        Nombre:<input id="nombre" type="text" name="nombre[]" />
                    </td>
                </tr>
                <tr>
                    <td colspan="4" align="center">
                        No Fase:<input id="nofase" type="text" name="nofase[]" />
                    </td>
                </tr>
                <tr>
                    <td colspan="4" align="center">
                        Dias Duracion:<input id="diasdu" type="text" name="diasdu[]" />
                    </td>
                </tr>
                <tr>
                    <td colspan="4" align="center">
                        Precio:<input id="presio" type="text" name="presio[]" />
                    </td>
                </tr>
            <?php } ?>
            </table><br>
            </div>

        <input id="guarda" type="submit" value="Guardar" />
        <a href="#"><input id="cance" type="button" value="Cancelar" /></a>
    </form>
</div>

INSERT:

foreach ($_POST as $key => $values) {
$query = "INSERT INTO detalles(nombre, no_fase, dias_duracion, precio) VALUES ('".$values['nombre']."','".$values['nofase']."','".$values['diasdu']."','".$values['presio']."')";
mysql_query($query, $conexion);
}

Сделав print_r ($ _POST) я понимаю, что он только направляет

Array ( [nombre] => Array ( [0] => miguel [1] => miguel [2] => miguel ) [nofase] => Array ( [0] => 7 [1] => 7 [2] => 7 ) [diasdu] => Array ( [0] => 45 [1] => 45 [2] => 45 ) [presio] => Array ( [0] => 1236 [1] => 1236 [2] => 1236 ) )
4
задан 15.06.2016, 18:30
2 ответа

Выбор состоит в том, чтобы создавать мультипространственный array с $i который ты используешь в for:

        <?php for ($i=0; $i<=3 ; $i++) { ?>
            <tr>
                <td colspan="4" align="center">
                    Nombre:<input id="nombre" type="text" name="usuario[<?= $i ?>][nombre]" />
                </td>
            </tr>
            <tr>
                <td colspan="4" align="center">
                    No Fase:<input id="nofase" type="text" name="usuario[<?= $i ?>][nofase]" />
                </td>
            </tr>
            <tr>
                <td colspan="4" align="center">
                    Dias Duracion:<input id="diasdu" type="text" name="usuario[<?= $i ?>][diasdu]" />
                </td>
            </tr>
            <tr>
                <td colspan="4" align="center">
                    Precio:<input id="presio" type="text" name="usuario[<?= $i ?>][presio]" />
                </td>
            </tr>
        <?php } ?>

Ты был бы должен изменять немного твой способ делать INSERT в базе данных также:

foreach ($_POST['usuario'] as $key => $values) {
    $query = "INSERT INTO detalles(nombre, no_fase, dias_duracion, precio) VALUES ('".$values['nombre']."','".$values['nofase']."','".$values['diasdu']."','".$values['presio']."')";
    mysql_query($query, $conexion);
}

Конечно я рекомендую тебе не использовать mysql_query, используй функции mysqli.

3
ответ дан 24.11.2019, 14:09
  • 1
    Я думаю, что он не читает стоимость, у меня вышла эта ошибка Notice: Undefined офсет: 0 и в базе данных я регистрируюсь 4 линии в 0 xD –  laura 15.06.2016, 18:38
  • 2
    Если он посылает договоренности как дебет того, чтобы быть Арраи ([пользователь] = > Array ([1] = > Array ([имя] = > ангел [нефаза] = > 12 [diasdu] = > 36 [presio] = > 54) [2] = > Array ([имя] = > juan [нефаза] = > 78 [diasdu] = > 65 [presio] = > 56) [3] = > Array ([имя] = > luis [нефаза] = > 96 [diasdu] = > 65 [presio] = > 45))) –  laura 15.06.2016, 18:44
  • 3
    Вышло то же самое u.u Notice: Undefined офсет: 2 –  laura 15.06.2016, 18:52
  • 4
    foreach не функционирует не берет стоимость, но если он делает поездку array INSERT INTO, подробно опиши (имя, no_fase,dias_duracion, цена) ОЦЕНИ (и #39; и #39; и #39; и #39; и #39; и #39; и #39; и #39;) –  laura 15.06.2016, 19:06
  • 5
    Я думаю, что уже я функционирую только, это был вопрос снимания [$key] MUCH и # 205; ПРОПАСТИ GRASIAS я тебе благодарен за это много –  laura 15.06.2016, 19:08

Чтобы мочь осуществлять то, что ты просишь, только необходимо, чтобы ты добавил ему к inputs квадратные скобки, и с этим уже отправление info будет в array, а именно:

<input type="text" name="nombre[]" value="asdf" />
<input type="text" name="nombre[]" value="jkl" /> 
0
ответ дан 24.11.2019, 14:09