Динамически 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
Я думаю, вам нужно быть более конкретным о том, что такое "проблема" ... в противном случае, это просто "что-то о флажках".