Member 13951143 Ответов: 0

Динамически HTML и PHP формы


Я разрабатываю проект, который показывает форму внутри страницы.Эта форма обладает способностью.Возможность-это кнопка добавления строки, с помощью которой пользователь может увеличить количество строк формы (попробуйте следующие коды, чтобы посмотреть, что будет выглядеть следующим образом img).
Введите описание изображения здесь

https://i.stack.imgur.com/AIFid.png

Таблица сервисов(для показа в форме в html) :

|--------------|--------------|
| код | наименование |
|--------------|--------------|
| 1 | сервис1 |
|--------------|--------------|
| 2 | службы service2 |
|--------------|--------------|
| 3 | сервис3 |
|--------------|--------------|
| 4 | сервис4 |
|--------------|--------------|
| 5 | сервис5 |
Таблица единиц :

|--------------|--------------|-----------------|
| id | title | bacicPrice |
|--------------|--------------|-----------------|

Unit_Service стол(для присоединяйтесь к службе таблиц и настольный модуль) :

|--------------|-------------------|-----------------|
| код | service_id | unit_id |
|--------------|-------------------|-----------------|

Службы берутся из таблицы служб из базы данных.Когда пользователь нажимает кнопку название и базовая цена на блок вставлена таблица с для команду вставить несколько входов.Затем идентификатор службы и идентификатор блока вставляются в таблицу unit_service с помощью команды for.
Проблема заключается в том, что когда мои коды хотят добавить идентификатор службы и идентификатор единицы измерения в таблицу unit_service, любой флажок, который установлен, будет добавлен для каждой единицы измерения в unit_service.

Что я уже пробовал:

РНР :

 <?php
if (isset($_POST['submit'])) {
    include_once "../db.php";

    $unit_title = $_POST['unit_title'];
    $unit_basic_price = $_POST['unit_basic_price'];
    $unit_checkbox = $_POST['checkbox'];

    for ($i = 0; $i < count($unit_title); $i++) {

        $sql_insert_boomgardi_unit = "insert into unit (title,basicPrice) values('$unit_title[$i]','$unit_basic_price[$i]')";

        if ($connection->query($sql_insert_boomgardi_unit) === true) {

            $last_id_unit = mysqli_insert_id($connection);

            for ($k = 0; $k < count($unit_checkbox); $k++) {

                $sql_insert_boomgardi_unit_service = "insert into unit_service (service_id, unit_id)
                        values('$unit_checkbox[$k]','$last_id_unit')";

                if ($connection->query($sql_insert_boomgardi_unit_service) === true) {
                    $unit_status = "OK";
                }
            }
        }
    }
    $connection->close();
}



<form method="post">
    <table id="unit">
        <tr id="row1">
            <td>
                <input placeholder='Title' type='text' name='unit_title[]'>
                <input placeholder='Basic price' type='text' name='unit_basic_price[]'>
                <div>
                    <?php
                    include_once '../db.php';
                    $sql = mysqli_query($connection, 'SELECT * FROM services');
                    while ($row = $sql->fetch_assoc()) {
                        echo "<label><input name='checkbox[]' value='$row[id]' type='checkbox'>$row[title]</label>";
                    }
                    ?>
                </div>
            </td>
        </tr>
    </table>
    <button type="button" onclick="add_row()">Add room</button>
    <input value="Submit" type="submit" name="submit"/>
</form>

<script type="text/javascript">
    function add_row() {
        $rowno = $("#unit tr").length;
        $rowno = $rowno + 1;
        $phpcode = "<?php $sql = mysqli_query($connection, 'SELECT * FROM services'); while ($row = $sql->fetch_assoc()) {
            echo " <label><input name='checkbox[]' value='$row[id]' type='checkbox'>$row[title]</label> ";
        } ?>";
        $("#unit tr:last").after("<hr/><tr id='row" + $rowno + "'><td><input placeholder='Title' type='text' name='unit_title[]'><input placeholder='Basic price' type='text' name='unit_basic_price[]'><div>" + $phpcode + "</div></td> </tr>");
    }
</script>

Gerry Schmitz

Я думаю, вам нужно быть более конкретным о том, что такое "проблема" ... в противном случае, это просто "что-то о флажках".

0 Ответов