Sistema de agendamento com datepicker
04/12/2020
0
Estou tentando criar um sistema de agendamento com datas e horários disponíveis para a data selecionada.
Por exemplo, quero criar um datepicker jquery ou bootstrap tanto faz, ao selecionar o datepicker preciso de um select para popular os horários disponíveis para o dia selecionado no datepicker.
Alguém pode me dar uma ajuda...
Vinicius
Posts
04/12/2020
Gxf
04/12/2020
Vinicius
Concordo, só que estou perdido...
Já consultei alguns sistemas que queria fazer igual, porém já procurei bastante algum exemplo de código e não consigo achar.
Seria parecido com um sistema de agenda médica...porém no meu caso só preciso de dias e horários disponíveis para agendamento.
Preciso de um datepicker que ao selecionar abre um select com os horários disponíveis para o dia selecionado.
Tentei fazer a mesma lógica de select entre estados e cidades, ao selecionar um estado o select popula a cidade do estado selecionado.
Minha dúvida é que não estou conseguindo criar uma lógica para marcar o horário como ocupado.
17/02/2021
Jady
Concordo, só que estou perdido...
Já consultei alguns sistemas que queria fazer igual, porém já procurei bastante algum exemplo de código e não consigo achar.
Seria parecido com um sistema de agenda médica...porém no meu caso só preciso de dias e horários disponíveis para agendamento.
Preciso de um datepicker que ao selecionar abre um select com os horários disponíveis para o dia selecionado.
Tentei fazer a mesma lógica de select entre estados e cidades, ao selecionar um estado o select popula a cidade do estado selecionado.
Minha dúvida é que não estou conseguindo criar uma lógica para marcar o horário como ocupado.
Olá, você conseguiu resolver? Estou com a mesma dificuldade.
18/02/2021
Vinicius
Minha dúvida é a seguinte:
Quero ter disponíveis dias de agendamento e horário para o dia selecionado, já tentei usar a mesma lógica de relação entre estados e cidades, que ao selecionar um estado o select popula a cidade correspondente ao estado. No meu caso seria ao selecionar um dia o select popula o horário para o dia selecionado, segue meus códigos que estou tentando.
Index.php:
<label class="label"> <span>Selecione um dia:</span> <select name="appointment_schedule_id" class="horarios"> <option selected disabled value="">Nenhum Selecionado</option> <?php $read->readFull("SELECT * FROM schedule s WHERE s.schedule_status IS NULL AND s.schedule_tstamp >= CURRENT_TIMESTAMP GROUP BY s.hora_disp ORDER BY s.schedule_tstamp ASC"); $schedules = ($read->getResult() ? $read->getResult() : null); if (!empty($schedules)) { foreach ($schedules as $schedule) { $schedule = (object) $schedule; echo "<option value='{$schedule->schedule_id}'>" . date('d/m/Y', strtotime($schedule->schedule_tstamp)) . "</option>"; } } ?> </select> </label> <div> <select class="hora" style="display: none;"> </select> </div> <p> <button type="submit" class="btn">Marcar Agendamento!</button> </p> </form> <script> $(".horarios").on("change", function() { var idHora = $(".horarios").val(); $.ajax({ url: 'busca_hora.php', type: 'POST', data:{id:idHora}, beforeSend: function() { $(".hora").css({'display': 'block'}); $(".hora").html("Carregando..."); }, success: function(data) { $(".hora").css({'display': 'block'}); $(".hora").html(data); }, error: function(data) { $(".hora").css({'display': 'block'}); $(".hora").html("Houve um erro"); } }); }); </script>
<?php require_once 'conexao.php'; $pega_hora = $conexao->prepare("SELECT * FROM horas_disp WHERE schedule_id='".$_POST['id']."' /*AND s.schedule_time >= CURRENT_TIMESTAMP */ "); $pega_hora->execute(); $fetchALL = $pega_hora->fetchALL(); foreach ($fetchALL as $horas_disp) { echo '<option>'.$horas_disp['horario_disp'].'</option>'; }
CREATE TABLE `horas_disp` ( `id` int(11) NOT NULL, `horario_disp` datetime NOT NULL, `schedule_id` int(11) UNSIGNED NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- Extraindo dados da tabela `horas_disp` -- INSERT INTO `horas_disp` (`id`, `horario_disp`, `schedule_id`) VALUES (1, '2021-02-15 09:30:00', 1), (2, '2021-02-15 10:30:00', 1), (3, '2021-02-15 11:30:00', 1), (4, '2021-02-16 09:30:00', 4); -- -------------------------------------------------------- -- -- Estrutura da tabela `schedule` -- CREATE TABLE `schedule` ( `schedule_id` int(11) UNSIGNED NOT NULL, `hora_disp` int(11) NOT NULL, `schedule_tstamp` timestamp NULL DEFAULT NULL, `schedule_status` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- -- Extraindo dados da tabela `schedule` -- INSERT INTO `schedule` (`schedule_id`, `hora_disp`, `schedule_tstamp`, `schedule_status`) VALUES (1, 1, '2021-02-24 12:30:00', NULL), (2, 1, '2021-02-15 13:30:00', NULL), (3, 1, '2021-02-15 14:30:00', NULL), (4, 2, '2021-02-16 12:30:00', NULL), (5, 2, '2021-02-16 13:30:00', NULL), (6, 0, '2021-02-25 12:30:00', NULL); ALTER TABLE `horas_disp` ADD PRIMARY KEY (`id`,`schedule_id`), ADD KEY `fk_horas_disp_schedule_idx` (`schedule_id`); -- Ãndices para tabela `schedule` -- ALTER TABLE `schedule` ADD PRIMARY KEY (`schedule_id`); ALTER TABLE `horas_disp` ADD CONSTRAINT `fk_horas_disp_schedule` FOREIGN KEY (`schedule_id`) REFERENCES `schedule` (`schedule_id`) ON DELETE NO ACTION ON UPDATE NO ACTION; COMMIT;
Pessoal Não postei o código completo por te tratar de ser complexo... A parte que não estou conseguindo é essa.
Clique aqui para fazer login e interagir na Comunidade :)