Tabela de Preços
23/01/2006
0
Segunda feira das 12:00:00 até 14:00:00 com o serviço Intenet o Preço é 2,00 a hora
---------------------------------------------------------------------------------------------------
Segunda feira das 12:00:00 até 14:00:00 com o serviço Trabalho o preço é 1,00 a hora
---------------------------------------------------------------------------------------------------
Segunda feira das 12:00:00 até 14:00:00 com o serviço Música o preço é 2,00 a hora
---------------------------------------------------------------------------------------------------
E assim vai...
Eu não estou sabendo como fazer isso, como ficaria a tabela, como vou verificar se já existe na hora de inserir aquela hora do dia do servico com aquele preco.
entende??
É como uma tabela de um sistema de lan house.
Alguem pode me ajudar??
Rudá
Posts
23/01/2006
Thomaz_prg
Da tabela:
ID ------> Chave Primária
HORA_INI
HORA_FIM
ID_SERVICO
VALOR
Para verificar a existência, você teria que fazer o seguinte:
select * from tabela where id_servico = :id_servico and ( (hora_ini <= :hora_ini and hora_fim >= :hora_ini) or (hora_ini <= :hora_fim and hora_fim >= :hora_fim) )
Isso verificaria se já existe preco lançado nesse intervalo de tempo. Se existir, será retornado o registro, então, você decide, se pode ou não inserir (mesmo havendo choque de horários para um mesmo serviço).
23/01/2006
Rudá
id
valor
horainicial
horafinal
dia
servico
ai coloquei esses registros como exemplo
[b:c694163d3f]1[/b:c694163d3f] | 1.0 | 12:00:00 | 14:00:00 | 1 | 1
[b:c694163d3f]2[/b:c694163d3f] | 1.5 | 14:00:01 | 16:00:00 | 1 | 1
[b:c694163d3f]3[/b:c694163d3f] | 2.0 | 12:00:00 | 14:00:00 | 1 | 2
[b:c694163d3f]4[/b:c694163d3f] | 2.5 | 14:00:01 | 16:00:00 | 1 | 2
[b:c694163d3f]5[/b:c694163d3f] | 1.0 | 12:00:00 | 14:00:00 | 2 | 1
[b:c694163d3f]6[/b:c694163d3f] | 1.5 | 14:00:01 | 16:00:00 | 2 | 1
[b:c694163d3f]7[/b:c694163d3f] | 2.0 | 12:00:00 | 14:00:00 | 2 | 2
[b:c694163d3f]8[/b:c694163d3f] | 2.5 | 14:00:01 | 16:00:00 | 2 | 2
Coloquei o seu select assim
[b:c694163d3f]SELECT * FROM precos WHERE servico=1 and dia=1 and
((horainicial <= ´13:00:00´ and horafinal >= ´13:00:00´) or (horainicial <= ´14:00:00´ and horafinal >= ´14:00:00´))[/b:c694163d3f]
Ai mostrou o id [b:c694163d3f]1[/b:c694163d3f]
Deu certo o select, muito obrigado pela ajuda.
Agora queria saber como faço para saber as horas que estão disponíveis no dia.
Ainda usando os registros acima, ele teria que ser mostrado assim
[b:c694163d3f]Dia | Serviço | HoraInicial | HoraFinal[/b:c694163d3f]
1 | 1 | 00:00:00 | 11:59:59
1 | 1 | 16:00:01 | 11:59:59
1 | 2 | 00:00:00 | 11:59:59
1 | 2 | 16:00:01 | 11:59:59
2 | 1 | 00:00:00 | 11:59:59
2 | 1 | 16:00:01 | 11:59:59
2 | 2 | 00:00:00 | 11:59:59
2 | 2 | 16:00:01 | 11:59:59
Entendeu o que quiz dizer ai com as horas livres??
23/01/2006
Thomaz_prg
Clique aqui para fazer login e interagir na Comunidade :)