#cakephp-3.0
Вопрос:
Cakephp 3.2
У меня есть поле даты и времени [start_time] и[end_time]в таблице MYSQL.
и у меня есть форма как образ формы
теперь я хочу сохранить дату и временной интервал, как вы можете видеть на изображении.
как установить [время начала] и[время окончания] с одинаковой датой и как сохранить и отобразить сохраненные дату и интервал времени для просмотра
Я новичок в этом мире PHP и буду признателен вам за помощь
мой HTML-файл ctp выглядит следующим образом
<tr>
<th>date</th>
<th class="require"><span class="red">※</span></th>
<td colspan="3">
<input type="text" class="calendar" value="">amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;
<select>
<!-- hour -->
<option value="1">0</option>
</select>:
<select>
<!-- minutes -->
<option value="0">00</option>
</select> amp;nbsp;amp;nbsp;~amp;nbsp;amp;nbsp;
<select>
<!-- hour -->
<option value="1">0</option>
</select>:
<select>
<!-- minutes -->
<option value="">00</option>
</select>
</td>
</tr>
Ответ №1:
*Примечание: это небольшая демонстрационная версия, пожалуйста, обратитесь к порталу cakephp, чтобы узнать подробнее.
возьмите таблицу внутри формы
теперь у вас есть 3 поля —
дата — текстовое поле : назовите его как input_date
2 поля времени (раскрывающиеся списки): час : назовите его start_tm[0] (
$this->Form->select('start_tm.0',[values here],[options]);
)
минута : назовите ее start_tm[1]
аналогично — end_tm[0],end_tm[1]
у контроллера
// допустим, ваша модель называется «Временные интервалы».
$data = $this->request->getData();
// получить данные запроса ( отправить )
// выполняйте проверки на сервере ………….. ( я не добавил )
// отформатируйте входные данные в соответствии с требованиями вашей таблицы БД
$start_time_text = $data['input_date'] . ' ' . implode(':',$data['start_tm']);
$end_time_text = $data['input_date'] . ' ' . implode(':',$data['end_tm']);
// ( текст вашей даты теперь будет выглядеть как гггг/мм/дд ч:мм )
// форматирование в виде текста даты и времени
$data['start_time'] = date('Y-m-d H:i:s', strtotime($start_time_text));
$data['end_time'] = date('Y-m-d H:i:s', strtotime($end_time_text));
$timeSlot = $this->TimeSlots->newEntity($data); // you can set validation at the model - see cakephp ORM
if($this->TimeSlots->save($timeSlot)){
$this->Flash->success(__('Saved successfully'));
} else {
$this->Flash->success(__('Some error occurred'));
}