Alecsfb Postado Agosto 6, 2010 Denunciar Share Postado Agosto 6, 2010 Amigos tudo bem?estou tentando montar um combo box com horario pré-determinados em BD, até aí tranquilo, pois monta o combo com as informações do BD sem problemas.O problema, e estou queimando o miolo aqui, é que em um determinado horario que foi agendado não poderá aparecer no combo novamente.vou dar um exemplo:horarios disponiveis:07:00 07:30 08:00 08:30 09:00 09:30 10:00 10:30 (estes horarios mostrarão no combo)foi agendado um horario das 08:00 as 09:30 (em banco de dados tb)então na proxima vez que acessar o combo mostrará apenas 07:00 07:30 10:00 10:30 :blink: será que consegui ser claro?valeu pela força![]´sAlecs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Agosto 6, 2010 Denunciar Share Postado Agosto 6, 2010 Faça uma consulta no BD selecionando todos os horarios agendados, e na hora de listar o combobox, faça uma validação, se o horario contas no BD, não exiba. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alecsfb Postado Agosto 6, 2010 Autor Denunciar Share Postado Agosto 6, 2010 já pensei nisso tb...daria certo se no BD de agendamento tivesse marcado hora a hora, mas o problema é que os horarios que são agendado poderão ser de hora a hora ou mais.no exemplo que dei pode ter agendamento de 7:00 as 8:00 7:00 as 9:30 e neste caso, fazendo a busca, não iria aparecer no combo apenas 7:00 e 9:30 mas o horario que fica entres estas duas horas iria aparecer.para tentar facilitar gravei no BD de meia em meia hora 7:00 7:30 8:00 8:30.... até as 20:00outro detalheterei tabela de clientes então um cliente poderá estar agendado para o horario das 7 as 8:30 e entrando para agendar um outro cliente mostrará os horarios no combo a partir das 8:30... e assim por diante...valeu pela atenção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 david.lyonnais Postado Agosto 8, 2010 Denunciar Share Postado Agosto 8, 2010 Não entendi muito bem, mais vo tentar te ajudar...você disse que tem registrado no banco de dados os horarios , dai faz um combox com esses horarios , quando alguém marca um horario , não mostra ele...Ou seja mostra os horarios disponiveis no banco de dados...Se for isso tente isso aquiCriei outro campo e nomei-o como ocupado ai so vai ter dois valore 0 para livre e 1 para ocupado...Dai faça mostra no combox todos que tiverem com o campo ocupado com o valor 0Quando alguém marca um horario é so muda o valor pra 1 e ele não vai aparece mais no comboboxespero ter ajudado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Thiago Luna Postado Agosto 9, 2010 Denunciar Share Postado Agosto 9, 2010 (editado) Bem, se você está disponibilizando as horas para serem escolhidas em um combo, então você precisará de 2 combos: um para inicio e outro para fim. Certo?você precisará de uma tabela com todos os horários disponíveis e uma tabela com os horários marcados.Na hora de mostrar os horários livres você usa uma subconsulta do tipo:SELECT horario FROM horario // tabela com os horários determinadosWHERE horario NOT IN (SELECT hora FROM agenda WHERE dtevento = '27-7-2010' ORDER BY hora ASC) // tabela com os dados dos horários marcados naquele dia selecionadoO resultado desta consulta será os horários da tabela horario que não estão na tabela de horarios marcados.Como você vai informar 2 horários, inicio e fim, use o between.você pode também permitir que o usuário selecione os horários que quer usar usando um checkbox. Se o usuário precisar de 8 as 9:30 ele irá marcar todos esses horários. Assim fica mais fácil. Não precisa usar between. Basta aplicar o select acima.Uma dica é você ir fazendo por partes. Primeiro monte a agenda mostrando os horários livres sem intervalo, depois vá incrementando. Editado Agosto 9, 2010 por Thiago Luna Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alecsfb Postado Agosto 10, 2010 Autor Denunciar Share Postado Agosto 10, 2010 opá, valeu pela ajuda galera.David isso tambem já tinha feito, mas dava problema, porque tinha um intervalo entre os horarios selecionados que continuavam aparecendo.Thiago, valeu pela dica, mas tambem não deu certo, trazia horarios que não eram para estar lá.Mas consegui resolver de uma outra forma.Como apareceu a dificuldade de que em finais de semana não iriam ter agenda, então resolvi criar uma outra tabela onde coloco as datas com os horarios disponiveis, então posso marcar cada data e horario separadamente, inclusive fazer calculos e marcar a faixa inteira de horario que selecionei, por exemplo:se marcar das 8:00 as 10:00 no BD será marcado os campos 08 09 e 10 horas de respectiva data.assim consegui matar meu problema.e para a tabela não ficar muito grande, posso ir excluindo as datas que já passaram, pois o historico do cliente já terá sido salvo.Valeu pela ajuda de todos.obrigado![]´sAlecs Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Alecsfb
Amigos tudo bem?
estou tentando montar um combo box com horario pré-determinados em BD, até aí tranquilo, pois monta o combo com as informações do BD sem problemas.
O problema, e estou queimando o miolo aqui, é que em um determinado horario que foi agendado não poderá aparecer no combo novamente.
vou dar um exemplo:
horarios disponiveis:
07:00 07:30 08:00 08:30 09:00 09:30 10:00 10:30 (estes horarios mostrarão no combo)
foi agendado um horario das 08:00 as 09:30 (em banco de dados tb)
então na proxima vez que acessar o combo mostrará apenas
07:00 07:30 10:00 10:30
:blink:
será que consegui ser claro?
valeu pela força!
[]´s
Alecs
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.