Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2020, 10:30   #1
metros
Новичок
Джуниор
 
Регистрация: 16.12.2020
Сообщений: 4
По умолчанию работа с формами в цикле

Ребят подскажите , есть цикл, в цикле форма (форм может быть не ограниченное кол.).
форма имеет инпуты с уникальными именами. как реализовать запись всех данных заполнены форм в бд.
Если вопрос банален , прошу прощения. Только учусь программировать на php. Вот цикл с формой.

Код:
<?php
	$sql = "SELECT `col_box` FROM  database_service WHERE id=$ID_Service";
	$result = mysqli_query($link, $sql);
	list($col_box) = mysqli_fetch_row($result);

	for ($i = 1; $i <= $col_box; $i++) {
		echo " Рабочая зона $i <br>";
		?>
        <form method="POST" action="form_work_time.php">
<div class="row">
<div class="col-lg-4">
<p style="display:none"><?php echo "$i<input type=hidden  name='box' value='$i' />"; ?></p>
<p style="display:none"><?php echo "$id_service<input type=hidden  name='id_service' value='$id_service' />"; ?></p>
<p style="display:none"><?php echo "$id<input type=hidden  name='id' value='$id' />"; ?></p>
<label><strong>Понедельник:</strong><input type="hidden" name="monday" value="Понедельник">
 <!-- Скрипт тайм пикер -->
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="monday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="monday2" value="00:00"></p>

</div>
<label><input type="radio"  name="monday3" value="1"/>Выходной</label>
<label><input type="radio"  name="monday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Вторник:</strong><input type="hidden" name="tuesday" value="Вторник">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="tuesday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="tuesday2" value="00:00"></p>

</div>
<label><input type="radio"  name="tuesday3" value="1"/>Выходной</label>
<label><input type="radio"  name="tuesday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Среда:</strong><input type="hidden" name="wednesday" value="Среда">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="wednesday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="wednesday2" value="00:00"></p>

</div>
<label><input type="radio"  name="wednesday3" value="1"/>Выходной</label>
<label><input type="radio"  name="wednesday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Четверг:</strong><input type="hidden" name="thursday" value="Четверг">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text"  name="thursday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="thursday2" value="00:00"></p>

</div>
<label><input type="radio"  name="thursday3" value="1"/>Выходной</label>
<label><input type="radio"  name="thursday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Пятница:</strong><input type="hidden" name="friday" value="Пятница">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="friday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="friday2" value="00:00"></p>

</div>
<label><input type="radio"  name="friday3" value="1"/>Выходной</label>
<label><input type="radio"  name="friday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Суббота:</strong><input type="hidden" name="saturday" value="Суббота">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="saturday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="saturday2" value="00:00"></p>

</div>
<label><input type="radio"  name="saturday3" value="1"/>Выходной</label>
<label><input type="radio"  name="saturday3" value="2"/>Круглосуточно</label>
</label>
</div>
<div class="col-lg-4">
<label><strong>Воскресенье:</strong><input type="hidden" name="sunday" value="Воскресенье">
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p> С : <input type="text" name="sunday1" value="00:00"></p>

</div>
<div class="input-group clockpicker" data-placement="right" data-align="top" data-autoclose="true">

    <p>До:<input type="text" name="sunday2" value="00:00"></p>

</div>
<label><input type="radio"  name="sunday3" value="1"/>Выходной</label>
<label><input type="radio"  name="sunday3" value="2"/>Круглосуточно</label>
</label>
</div>
</div>

<input type="submit" name="time_seve" class="btn btn-primary block full-width m-b" value="Сохранить">
</form>

    <?
	}
?>
если вынести кнопку сохранить из цикла, то она будет обращаться ко всем формам в цикле.
Зарание спасибо большое

Последний раз редактировалось metros; 16.12.2020 в 12:21.
metros вне форума Ответить с цитированием
Старый 16.12.2020, 18:22   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

какой ужас.....
а если надо на месяц... на год - тоже вручную писать все будете?))))

у вашему вопросу, давайте имена полям формы в виде массивов -
monday[1] monday[2] итд

а вообще ваш подход порочен....
непонятно чего вы вобще хотите... какое то расписание видимо куда-то зачем-то
ADSoft вне форума Ответить с цитированием
Старый 16.12.2020, 20:00   #3
metros
Новичок
Джуниор
 
Регистрация: 16.12.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
какой ужас.....
а если надо на месяц... на год - тоже вручную писать все будете?))))

у вашему вопросу, давайте имена полям формы в виде массивов -
monday[1] monday[2] итд

а вообще ваш подход порочен....
непонятно чего вы вобще хотите... какое то расписание видимо куда-то зачем-то
Спасибо за отклик.

Может можете подкинуть другую идею , как реализовать данную задачу, буду при много благодарен.
metros вне форума Ответить с цитированием
Старый 16.12.2020, 21:07   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Задачу опишите, а не предлагайте свое решение...
Что дано, что требуется получить?
ADSoft вне форума Ответить с цитированием
Старый 17.12.2020, 09:16   #5
metros
Новичок
Джуниор
 
Регистрация: 16.12.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
Задачу опишите, а не предлагайте свое решение...
Что дано, что требуется получить?
Есть регистрация сервиса.
после регистрация сервиса, пользователь должен задать график работы сервиса,
в моём случае, мне нужно знать два графика:

1. График работы самого сервиса. (дни недели)
2. График работы рабочих зон в сервисе.(дни недели)

//
Я шёл по простому пути, создавал кнопку , "Создать рабочую зону", где далее селектом пользователь выбрал номер рабочей зоны. (Но тогда я ограничиваю пользователя в кол.рабочих зон, такой вариант не приемлем).
Да и в таком случае я убирал из регистрации поле кол.зон.

Пробовал циклом, но не понял, как сделать имя уникальным.
//

Более подробно могу написать в лс...
Изображения
Тип файла: jpg Снимок экрана 2020-12-17 в 09.03.09.jpg (53.2 Кб, 1 просмотров)

Последний раз редактировалось metros; 17.12.2020 в 09:26.
metros вне форума Ответить с цитированием
Старый 17.12.2020, 09:48   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

ну я бы добавление новых зон (и полей для них) сделал динамически на js
про имена для полей, еще раз повторюсь - делайте имена - массивы day[0] кроме этого можно и двумерные массивы типа day[0][1],...
одну функцию написать - формирующую поля на неделю ... с возможностью указания перфикса имен переменных.. что типа

Код:
function generate_week($perfix = '') {
  $day_name = ['Пн','Вт','Ср','Чт','Пт','Сб','Вск'];
$out = '';
  for ($i=0;$<7;$i++) {
    $oit .= "тут html код для одного дня ... к примеру один input <label>{$day_name[$i]}:<input name='day_$perfix[$i]' value='' >";
  }
  return $v;
}

// вызов к примеру 
echo generate_week('org');
писал на коленке - но смысл должен быть ясен

в PHP обрабатывать все поступающие поля как нужно....
ADSoft вне форума Ответить с цитированием
Старый 17.12.2020, 11:30   #7
metros
Новичок
Джуниор
 
Регистрация: 16.12.2020
Сообщений: 4
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
ну я бы добавление новых зон (и полей для них) сделал динамически на js
про имена для полей, еще раз повторюсь - делайте имена - массивы day[0] кроме этого можно и двумерные массивы типа day[0][1],...
одну функцию написать - формирующую поля на неделю ... с возможностью указания перфикса имен переменных.. что типа

Код:
function generate_week($perfix = '') {
  $day_name = ['Пн','Вт','Ср','Чт','Пт','Сб','Вск'];
$out = '';
  for ($i=0;$<7;$i++) {
    $oit .= "тут html код для одного дня ... к примеру один input <label>{$day_name[$i]}:<input name='day_$perfix[$i]' value='' >";
  }
  return $v;
}

// вызов к примеру 
echo generate_week('org');
писал на коленке - но смысл должен быть ясен

в PHP обрабатывать все поступающие поля как нужно....


спасибо, за идею. буду пробовать
metros вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с формами sol1tary Общие вопросы по Java, Java SE, Kotlin 0 05.04.2011 21:02
Работа с формами :( sol1tary Помощь студентам 0 05.04.2011 20:57
Работа с формами Claster Общие вопросы Delphi 11 01.02.2010 17:09
Работа с формами S_Yevgeniy Помощь студентам 8 04.08.2009 10:23