Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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

 

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.