PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Lora
Отправлено: 11 Мая, 2020 - 20:30:06
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Май 2020  


Помог: 0 раз(а)




Всем привет. Пытаюсь написать код для вывода html таблицы расписания приёмных часов. То есть,хочу записаться на 12-00.Выводится таблица, в которой можно посмотреть какие часы заняты,а какие свободны. Для примера. С базы получаю массив,для двух дней. Перебираю.
PHP:
скопировать код в буфер обмена
  1. Array ( [0] => Array ( [id] => 56  [date] => 2020-05-11 [time] => Array ( [0] => 2:13:30 [1] => 1:14:30 ) )
  2. [1] => Array ( [id] => 58 [date] => 2020-05-12 [time] => Array ( [0] => 1:12:30 ) )

Приготовил массивы для таблицы html.
$list - список приёмных часов. Будет первый столбец в таблице.
$w_weeks - дни недели.
Рисую таблицу.
CODE (html):
скопировать код в буфер обмена
  1.         <table class="table table-bordered" >
  2.                 <tr>
  3.                         <td>Часы/Дни</td>
  4.                         <?php $j = 0; while($j<7){ ?>
  5.                                 <td ><?php echo $w_weeks[$j] ?></td>
  6.                         <?php $j++;} ?>
  7.                 </tr>
  8.                 <?php $i = 0; while($i<count($list)){ ?>
  9.                         <tr>                           
  10.                                 <td><?php echo $list[$i];?></td>
  11.                         </tr>
  12.                 <?php $i++;}?>                 
  13.         </table>

Теперь мне надо как то составить условие, что такое то время занято,такое то свободно. То есть связать время из базы со временем из таблицы. Весь мозг сломал уже.
Время из базы состоит из id пользователя,первая цифра и времени,следующие две. В процессе перебора оставляю только время
$pre_items - массив из базы
PHP:
скопировать код в буфер обмена
  1.                         foreach($pre_items as $pre){
  2.                          $pre['time'] = explode(',',$pre['time']);
  3.                          $date[] = $pre['date'];
  4.                          $array[] = $pre;
  5.                         }
  6.                                        
  7.                         foreach($array as $lists){
  8.                         $times = $lists['time'];
  9.                         foreach($times as $tim){
  10.                         $list_time = explode(':',$tim);
  11.                         $time[] = $list_time[1].':'.$list_time[2];
  12.                                 }                              
  13.                         }

(Отредактировано автором: 11 Мая, 2020 - 20:39:31)

 
 Top
Vladimir Kheifets
Отправлено: 13 Мая, 2020 - 12:51:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 511
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 24 раз(а)




Lora пишет:
Всем привет. Пытаюсь написать код для вывода html таблицы расписания приёмных часов. То есть,хочу записаться на 12-00.Выводится таблица, в которой можно посмотреть какие часы заняты,а какие свободны. Для примера. С базы получаю массив,для двух дней. Перебираю.
PHP:
скопировать код в буфер обмена
  1. Array ( [0] => Array ( [id] => 56  [date] => 2020-05-11 [time] => Array ( [0] => 2:13:30 [1] => 1:14:30 ) )
  2. [1] => Array ( [id] => 58 [date] => 2020-05-12 [time] => Array ( [0] => 1:12:30 ) )

Приготовил массивы для таблицы html.
$list - список приёмных часов. Будет первый столбец в таблице.
$w_weeks - дни недели.
Рисую таблицу.
CODE (html):
скопировать код в буфер обмена
  1.         <table class="table table-bordered" >
  2.                 <tr>
  3.                         <td>Часы/Дни</td>
  4.                         <?php $j = 0; while($j<7){ ?>
  5.                                 <td ><?php echo $w_weeks[$j] ?></td>
  6.                         <?php $j++;} ?>
  7.                 </tr>
  8.                 <?php $i = 0; while($i<count($list)){ ?>
  9.                         <tr>                           
  10.                                 <td><?php echo $list[$i];?></td>
  11.                         </tr>
  12.                 <?php $i++;}?>                 
  13.         </table>

Теперь мне надо как то составить условие, что такое то время занято,такое то свободно. То есть связать время из базы со временем из таблицы. Весь мозг сломал уже.
Время из базы состоит из id пользователя,первая цифра и времени,следующие две. В процессе перебора оставляю только время
$pre_items - массив из базы
PHP:
скопировать код в буфер обмена
  1.                         foreach($pre_items as $pre){
  2.                          $pre['time'] = explode(',',$pre['time']);
  3.                          $date[] = $pre['date'];
  4.                          $array[] = $pre;
  5.                         }
  6.                                        
  7.                         foreach($array as $lists){
  8.                         $times = $lists['time'];
  9.                         foreach($times as $tim){
  10.                         $list_time = explode(':',$tim);
  11.                         $time[] = $list_time[1].':'.$list_time[2];
  12.                                 }                              
  13.                         }

Добрый день!
Советую Вам в начале сформализовать задачу, а затем думать о том как её реализовать.
Например:
Важно продумать авторизацию перед записью на прием.
Как минимум необходимо получить имя, номер документа(например, карты мед. страховки),
мэйл и отправить на него код доступа.
Получив доступ, посититель может ввести, дату и время, и ему, после проверки, может выдаваться сообщение:
"Ок записан", или "занято" и "рисуется" календарь на ближайшей от выбранной даты неделю или месяц.
Для этого необходимо иметь информацию о рассписании работы (по дням недели и часам)
и информацию об уже зарегистрированных поситителях.
Нужно знать максиимальную продолжительность обслуживания одного поситителя
и допустимое время ожидания в месте приёма.
Посмотрите запись на приём здесь:
https://q[dot]midpass[dot]ru/ru/account/[dot][dot][dot]oviderCode=49305
Удачи!

(Отредактировано автором: 13 Мая, 2020 - 15:36:46)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB