Jump to content
MaércioGBB

Agendamento de horário em PHP e MySQL

Recommended Posts

Olá pessoal!

Sou novo por aqui e gostaria de uma ajudinha de vocês.

Estou montando um site PHP sobre agendamento de horários, onde será mostrado o nome de cada pessoa em seu respectivo horário, assim como está na imagem.

Ex: Uma escola de cursos, onde cada aluno tem seu horário, mais pode sofrer uma alteração do horário por causa de uma reposição de horário ou transferência do horário.

Mais não faço ideia de como fazer isso, primeiramente imaginei fazer em uma tabela HTML os horários e os dias da semana, e depois fazer a conexão com o banco de dados e inserir os nomes, mais o problema seria sincronizar as datas com os dia da semana (Ex: segunda - 12/02/2018 ).

Já procurei aqui no fórum sobre o assunto, tem várias questões parecidas, mais nenhuma que me tirasse essa dúvida.

 

Exite alguma maneira mais fácil de fazer isso?

tabela PHP.png

Share this post


Link to post
Share on other sites

tabela:

tabela_agenda

colunas:

nome | horario | data

Pra acompanhar as datas/dias da semana, veja um exemplo:

date("Y-m-d-D");

resultado:

2018-02-10-Sat

Se você quiser adicionar dias/meses/horas:

Adicionando +5 dias na data atual

date("Y-m-d-D",strtotime(date("Y-m-d") . " +5 days"));

Adicionando +5 dias e +3 horas do horário atual:

date("Y-m-d-D H:i",strtotime(date("Y-m-d H:i") . " +5 days +3 hours"));

E assim por diante. Você pode usar o date(), como também, dependendo da forma que você construir o código, nem precise, mas fica aí como um exemplo.

 

Com isso aí você já consegue criar uma lógica pra montar o código e trabalhar os dias/horários, depois é só criar um looping usando for()/while()/foreach() que vai ir de 14:30 até 17:10 em cada dia da semana, se existir algum "aluno" dentro do horário correspondente que foi armazenado no banco, ele insere na table e vai construindo a table html passando por todos dias, de segunda à domingo.

  • Gostei 1

Share this post


Link to post
Share on other sites

Desculpe pela demora, estive fora por um tempo.

Meu conhecimento em PHP ainda é bem fraco, eu entendi sua explicação e até tentei colocar em pratica, mais sem sucesso.

Já estou com a parte de cadastrar, deletar, alterar e pesquisar todo feito, só falta essa parte da tabela com o nome das pessoas.

Em relação ao banco de dados, eu posso estar criando colunas com data e hora? ou deveria criar uma TIMESTAMP para armazenar os dois e tratar pelo PHP?

Vou tentar explicar melhor, eu queria exibir uma tabela igual a imagem acima, que exibisse horários de segunda a domingo, e que só exibisse as pessoas na semana em que estariam reservadas, mais que tivesse outras tabelas com as semanas futuras, para que fossem consultadas as pessoas com reservas futuras assim como a imagem abaixo.

tabela PHP 2.jpg

Share this post


Link to post
Share on other sites

A sugestão do BrunoBit é bem maneira.

 

Porém uma forma mais fácil que você pode fazer já que você está iniciando.

 

e criar no banco 

tabela - agendamento

colunas - nome(VARCHAR) - dia(date) - hora(varchar)

pelo que percebi os horários são fixos você só precisa verificar os dias.

 

sugiro que você faça um formulário que contenha um select com as opções dos horários pre definidos e um input para receber o nome

 

e abaixo uma tabela que irá puxar do banco as informações das datas disponíveis. Usando o while que o BrunoBit mencionou e caso você queria remover você coloca junto da exibição um button que receberá o id do banco e enviara para uma página onde você conseguirá alterar/deletar as informações desejadas

 

essa e a forma mais fácil de você obter o que deseja. na minha opnião.

 

Boa sorte

  • Gostei 1

Share this post


Link to post
Share on other sites
17 horas atrás, jeanzinsousa disse:

pelo que percebi os horários são fixos você só precisa verificar os dias.

Isso mesmo, os  horários são fixos.

 

No projeto, eu criei um formulário que só receberá os dados de uma pessoa como nome, endereços, data de nascimento, gênero e telefone que serão inseridos no banco de dados, depois criei um comando listar que irá exibir todas as pessoas que foram cadastradas, onde tem a opção de altera ou remover uma pessoa.

No momento, estou desenvolvendo um novo formulário  que receberá uma determinada pessoas e irá atribuir um horários que deverá ser responsável pela exibição dessa pessoa na tabela de horários que havia citado acima.

 

17 horas atrás, jeanzinsousa disse:

colunas - nome(VARCHAR) - dia(date) - hora(varchar)

Eu posso colocar os horários como varchar?

 

17 horas atrás, jeanzinsousa disse:

sugiro que você faça um formulário que contenha um select com as opções dos horários pre definidos e um input para receber o nome

 

e abaixo uma tabela que irá puxar do banco as informações das datas disponíveis. Usando o while que o BrunoBit mencionou e caso você queria remover você coloca junto da exibição um button que receberá o id do banco e enviara para uma página onde você conseguirá alterar/deletar as informações desejadas

Realmente achei mais fácil dessa forma, irei tentar fazer dessa forma, qualquer coisa volto a pedir ajuda.

 

Obrigado

 

Share this post


Link to post
Share on other sites
14 horas atrás, MaércioGBB disse:

Eu posso colocar os horários como varchar?

pode só que eles serão considerados strings e não date. te dei esse exemplo por conta da forma que eu entendi pra resolver o seu problema. porque se usar date você não consegue comparar no php.

 

boa sorte. Se conseguir posta aqui no forúm pra ver como ficou e se precisar só chamar. ; )

 

abraço.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Sapinn
      Estou usando o editor SummerNote em um projeto mas ele não está enviando os dados com o HTML apenas o texto. Eu estou colocando assim:

               
                                        <textarea id="summernote" class="textarea" required name="content">     <script> $('#summernote').summernote({         tabsize: 2,         height: 500,         toolbar: [           ['style', ['style']],           ['font', ['bold', 'underline', 'clear']],           ['color', ['color']],           ['para', ['ul', 'ol', 'paragraph']],           ['table', ['table']],           ['insert', ['link', 'picture', 'video']],           ['view', ['fullscreen', 'codeview', 'help']]         ]       });           </script>  
       
    • By marcelo.ourico
      Boa noite. Pessoal, mais uma vez aqui pedindo uma ajuda.

      Estou tentando enviar uma NFSe via SOAP.

      Estou recebendo o seguinte erro:

      Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Client] ERRO : cvc-complex-type.4: Attribute 'Algorithm' must appear on element 'ns2:CanonicalizationMethod'. in

      O meu Array está da seguinte forma:
      Array
      (
      [CanonicalizationMethod] => Array
      (
      [@attributes] => Array
      (
      [Algorithm] => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
      )
      )

      Não entendi o porque desse erro, alguém sabe ajudar?
    • By Sapinn
      Galera estou usando o PHPStorm para alguns projetos e estou com meus arquivos marcados em vermelho não sei oq é alguem pode me ajuda?
       
       

    • By danielambrosio
      Estou trabalhando numa programação PHP é conectado na tabela (cl_configs) para reconhece coluna name que reconhece esses 5 campos.
      e também que adiciona esses 5 valores é adicionado nessa outra tabela (cl_ads_block_ips) nesses 8 coluna (id, ip, clicks, last_click, dads_refresh_qtd, dads_refresh_data, dads_refresh_ldata, clicks_rotativo_dia).
      E a conexão que eu usa era de outro site e não estou tendo problema e configurar em outro site que reconhece essa banco de dados abaixo.
       
      <?php $host = "localhost"; $user = "ads"; $pass = "_CMpFF4Hpa!G_gTh"; $dbname = "ads"; $port = 3306; try {     $conn = new PDO('mysql:host=' . $host . ';port=' . $port . ';dbname=' . $dbname, $user, $pass);     //echo "Conexão com banco de dados realizado com sucesso!"; } catch (PDOException $err) {     echo "Erro: Conexão com banco de dados não foi realizada com sucesso. Erro gerado " . $err->getMessage(); } ?>  
      Conecta com sucesso só não está reconhecendo a tabela (cl_configs) e nem adicionando na tabela (cl_ads_block_ips).
       
       
      Agora não sei porque não esta reconhecendo (cl_configs) e nem adicionando (cl_ads_block_ips).
       
       


×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.