Ir para conteúdo

Arquivado

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

rogerio.prince

trabalhando com datas e calculando periodos

Recommended Posts

Pessoal preciso de um sistema que calcula vagas disponiveis por data:

 

PONTOS DO SISTEMA:

1) Vamos considerar que o sitema é um espaço para ANUNCIO.

2) Nesse espaço poderar ter 8 ANUNCIOS.

3) Não há limite para o periodo a ser anunciado, pode ser 1 dia ou quantos quiser.

4) O ANUNCIO tera datainicial e datafinal.

 

NECESSIDADE:

1) Gostaria de disponibilizar uma reserva de anuncio online.

 

Parece meio louco mas:

 

1) tem como eu verificar todas as datas(periodos) já ocupadas ou então mostrar as disponiveis?

2) para mostrar que uma data esta disponivel eu tenho que verificar tambem a quantidade de anuncios,

porque possa ser que a data 01/12/09 a 15/12/09 estaja ocupada só que por apenas 2 anuncios, então eu

teria ainda 6 vagas disponiveis...

 

Acho isso meio louco e que não tem como fazer!

 

Eu pensei em disponibilizar um formulario para o cliente informar o periodo que deseja e o sitema

informar se tem disponivel ou não, mas o problema é como verificar isso...

 

Se alguem ja viu algo do tipo antes e puder me ajudar!

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

De uma pesquisada e estudo between, com esta instrução sql você consegue comparar numeros e datas, e dara pra tu fazer o que pretente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça um count com group by pela data cadastradas e já ocupadas, coloque o having para pegar os que tem >= de 8. fase 1 concluida, pegar os que tem indisponiveis. Agora você tem que fazer um loop pra pegar os dias do calendario e para cada dia você verifica se é a mesma data que tem no retorno do sql que verificou se tem mais ou igual a 8, se for a mesma data deixa indisponivel

Compartilhar este post


Link para o post
Compartilhar em outros sites

parece meio dureza pra quem não tem experiência mas vou tentar dar uma pesquisada nessas dicas e tentar desenvolver...

 

muito obrigado pela ajuda.

 

faça um count com group by pela data cadastradas e já ocupadas, coloque o having para pegar os que tem >= de 8. fase 1 concluida, pegar os que tem indisponiveis. Agora você tem que fazer um loop pra pegar os dias do calendario e para cada dia você verifica se é a mesma data que tem no retorno do sql que verificou se tem mais ou igual a 8, se for a mesma data deixa indisponivel

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

 

<%
session.LCID = 1046
datai = Request.Form("datai")
dataf = Request.Form("dataf")
pago  = Request.Form("pago")
relc  = Request.Form("relc")



datai = CDate(datai)
dataf = CDate(dataf)



if (IsDate(datai) = true) and (IsDate(dataf) = true) then
 datai = datai
 dataf = dataf
else
 datai = ""
 dataf = ""
end if



if (datai = "") or (dataf = "") then
 Response.Write = "Data inicial ou final não são validas"
 Response.End
Else



datai = Month(datai) & "/" & Day(datai) & "/" & Year(datai)
dataf = Month(dataf) & "/" & Day(dataf) & "/" & Year(dataf)



Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open Conectar



Set rs = Server.CreateObject("ADODB.RecordSet")
 lin = "Select pedidofabrica.id_pedidofabrica, clientes.nome, pedidofabrica.pedido, pedidofabrica.pedido, pedidofabrica.valor, pedidofabrica.comissao "
 lin = lin & "From pedidofabrica, clientes Where pedidofabrica.user_id = clientes.user_id and "
 lin = lin & "pedidofabrica.data between #"& datai &"# and #" & dataf & "# and pedidofabrica.pago=" & pago & " and pedidofabrica.relatoriocomissao=" & relc
 rs.Open lin ,cnn,1,1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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