Ir para conteúdo
Fórum Script Brasil
  • 0

preencher horas como agenda


Ronaldo Bueno

Pergunta

Olá, pessoa, quer puder me ajudar agradeço.

é o seguinte, tenho uma tabela com os campos, medico, intervalo de atendimento, dia da semana, hora inicial e hora final.

quando entro na pagina de marcar a consulta, o médico a data já venho de outra página, portanto tenho uma rotina que verifica os horarios de atendimento de acordo com cada médico e cada dia da semana, então monto um select para escolher qual uma hora: vou postar o código do select aqui:

dim intervalo,inicial,final,hi,hf,mi,mf,interv,voltas

            intervalo = rspd("intervaloatendimento")     
            inicial = rspd("horainicial")                 
            final = rspd("horafinal")                    
            
            response.write("<select name='horaconsulta' id='horaconsulta' class='letraform' onchange='corrigir(this.value)'>")
            
            If inicial = "00:00" and final = "00:00" then
                    response.write("<option value='""'>Médico não atende esse dia</option>")
            Else
                    hi=left(inicial,2)            
                    mi=right(inicial,2)            
                    hf=left(final,2)            
                    mf=right(final,2)            
                    interv=intervalo            

                    'inicio do gerador
                    
                    if mi=0 then 
                    total=(((hf-hi)*60)+mf)/interv
                    
                    else
                    total=((((hf-hi)*60)-mi)+mf)/interv
                    
                    end if
                    
                    voltas=Int(total)
                    response.write("<option value='""'>Selecione um Horário</option>")
        
                    for i=0 to voltas
                    
                    if mi=60 then
                    hi=eval(hi)+1
                    mi=0
                    
                    elseif mi>60 then
                    hi=eval(hi)+1
                    mi=(eval(mi)-60)
                    end if

                    if i=0 then

                            if mi=0 then
                                if hi<10 then
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                else
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                end if
                            else
                                if hi<10 then
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                else
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                end if
                            end if
                            
                            mi=eval(mi)+eval(interv)
                    
                    else
                            if mi=0 then
                                if hi<10 then
                                    response.write("<option value='0"&hi&":"&mi&"0'>0"&hi&":"&mi&"0</option>")
                                else
                                    response.write("<option value='"&hi&":"&mi&"0'>"&hi&":"&mi&"0</option>")
                                end if
                            else
                                if hi<10 then
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                else
                                    response.write("<option value='"&hi&":"&mi&"'>"&hi&":"&mi&"</option>")
                                end if
                            end if
                            
                            mi=eval(mi)+eval(interv)
                            
                    end if
                    next
            End if
            response.write("</select>")

até aqui esta tudo beleza, acontece que na página de marcação eu fiz em cima uma div que pega 5 dias apartir da data que a pessoa escolheu para mostrar a agenda.

mas esta assim:

<div id="Layer1">
<%
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "CONEXAO"
strQueryAgenda = "select * from consultorio where dataconsulta='"&dia1&"' and medicos='"&medicosatual&"' order by horaconsulta"
Set rsagenda=Server.CreateObject("ADODB.Recordset")
rsagenda.Open strQueryAgenda, objConn
diasemanaatual = PegaDiaSemana(now)
response.write("<table border='1'>")
response.write("<tr><td colspan='2' align='center' class='laranjam'>"&diasemanaatual&"</td></tr>")
response.write("<tr><td colspan='2' align='center'>"&dia1&"</td></tr>")
if diasemanaatual = "Sábado" or diasemanaatual = "Domingo" then
    if diasemanaatual = "Sábado" then
        response.write("<tr><td colspan='2' align='center' class='azulagenda'>Não Atende</td>")
        response.write("</tr>")
        response.write("</table>")
    Elseif diasemanaatual = "Domingo" then        
        response.write("<tr><td colspan='2' align='center' class='azulagenda'>Não Atende</td>")
        response.write("</tr>")
        response.write("</table>")
    End if
else
    Set objConn =  Server.CreateObject("ADODB.Connection")
    objConn.Open "CONEXAO"
    strQuerypd = "Select * from atenderdiasemana where medico='"&medicosatual&"' and diasemana='"&diasemanaatual&"' order by medico"
    Set rspd=Server.CreateObject("ADODB.Recordset")
    rspd.Open strQuerypd, objConn
    dim intervalo1,inicial1,final1
                        
    intervalo1 = rspd("intervaloatendimento")     
    inicial1 = rspd("horainicial")                 
    final1 = rspd("horafinal")                    
                        
    If inicial1 = "00:00" and final1 = "00:00" then
        response.write("<tr><td colspan='2' align='center' class='azulagenda'>Não Atende</td>")
        response.write("</tr>")
        response.write("</table>")
    Else
        while not rsagenda.EOF
        if rsagenda("horaconsulta") = "" then
            response.write("<tr><td class='laranjam'>"&rsagenda("horaconsulta")&"</td><td>LIVRE</td></tr>")
        else
            response.write("<tr><td class='laranjam'>"&rsagenda("horaconsulta")&"</td><td class='azulagenda'>OCUPADO</td></tr>")
        end if
        rsagenda.movenext
        wend
        response.write("</table>")
        objConn.close
        set objConn=nothing
        set rsagenda=nothing
    End if
End if
%>
</div>

esse código esta funcionando perfeito, mas esta assim;

ele mostra o nome do dia da semana

mostra a data que a pessoa clicou

e mostra os horários que já tem consulta marcada e na frente a palavra OCUPADO.

o que eu queria era que ele mostrasse todos os horário (igual ao select), conforme o dia da semana, e respeitando o intervalo de atendimento e somente os que já foram marcados, mostrasse OCUPADO e os outro deixava em branco.

Será que ficou muito complicado a explicação ?

agradeço a todos, obrigado

Editado por bareta
USE TAGS PARA POSTAR CODIGOS /*BARETA*/
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Ok, Bareta, vou explicar melhor... mas sem código ok ?

em uma tabela eu tenho os campos:

codigo, medico, especialidade, intervalo de atendimento, dia da semana, hora inicial, hora final.

em outra tabela tenho a marcação de consulta.

no primeiro código que postei, é onde ele monta um select dentro da página de marcação de consulta, conforme o médico selecionado e a data que escolheu (tipo tem médico q atende de seg a sexta, mas em horários diferentes e intervalos diferentes)

o segundo código é onde ele monta em cima da página de marcação de consulta, uma espécie de agenda, mas desse jeito, esta mostrando os horários que estão ocupados naquele dia que a pessoa escolheu.

o que eu queria era uma agenda em cima tipo aquelas que tem o dia e nesse dia tem das 08:00 às 18:00 (tem algumas que tem intervalo de 30 em 30 minutos).

Mas essa agenda tem que ser conforme o horário de atendimento do médico naquele dia e com intervalo que esta cadastrado.

nessa linha do segundo código: diasemanaatual = PegaDiaSemana(now) é onde eu pego a data que ele clicou e transformo em dia da semana.

Melhorou a explicação ??? se não, posto novamente ok ?

Ps. Rafael e sobre o BEETWEN, dei uma olhada, na verdade já fiz algumas coisas com ele, mas não estou vendo como fazer isso funcionar com esse comando, pois não tenho nenhuma consulta que seja entre data x e data y, se puder explicar melhor, vou tentando ver o que faço.

Obrigado por enquanto

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...