Fórum Sistema de agendamento com datepicker #613432
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
Curtir tópico
+ 0Posts
04/12/2020
Gxf
Gostei + 0
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.
Gostei + 0
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.
Gostei + 0
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)