Foros del Web » Programando para Internet » ASP Clásico »

combo a condicion

Estas en el tema de combo a condicion en el foro de ASP Clásico en Foros del Web. hola a ver una ayudadita porfa: tengo una tabla con las horas que un doctor va a atender...quiero que se muestre estas horas en un ...
  #1 (permalink)  
Antiguo 27/05/2007, 09:28
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
combo a condicion

hola a ver una ayudadita porfa:

tengo una tabla con las horas que un doctor va a atender...quiero que se muestre estas horas en un combo pero de la siguiente manera:
...habra un text donde se pondra la fecha, esto lo hice con un calendario. junto al text puse un boton que me mostraba un opoupo con un calendario y asi se elegia la fecha.
...cada vez que cambie el contenido de ese text quiero que el combo con las fechas cambie su contenido.
...si eligio 20/07/2007 y para ese dia hay citas a las 6 y 8 de la noche, entonces esas dos horas ya no quiero q se muestren en el combo y si no hay horas disponibles que en el combo me salga "no hay horas disponibles"

espero me ayuden gracias
  #2 (permalink)  
Antiguo 27/05/2007, 11:54
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

mmm...
EJEMPLO DE AUTOCOMPLETAR
intenta camiando el text box por un tu select, y en el evento onchange del select, le agregas mediante javascript, que envie el formulario

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 28/05/2007, 19:01
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: combo a condicion

ya lo he tratado de solucionar peor me encontre con otro dilema:

ahora tengo en un vector todas las horas que estan activadas por el doctor de la tabla horas, y en otro vector las horas ya ocupadas en la fecha seleccionada de la tabla citas. mi problema es como comparo los dos vectores, que solo me muetsren las horas q estan libres...

asi entonces tengo en vector1: 8:00am, 9:00 am, etc.
y en el vector2: solo 2:00 pm.
ahora quiero q me mustre en una tabla las demas horas del primer vector, excluyendo a las horas del segundo-----si me djeo entender no?
gracias por adelantado......
  #4 (permalink)  
Antiguo 29/05/2007, 01:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

imagino que las horas las rellenas mediante la base de datos y rellenas un arreglo con todas las horas, quiero pensar

bueno... un ejemplo de como podria ser.... recuerda el formato del horario para que no tengas errores

Cita:
01:00 A.M.
14:00 P.M.
Código PHP:
<&#37;
'CONSTRUCCION DEL ARREGLO, MEDIANTE EL LLAMADO A LA BASE
dim H_ocupadas(0)
SQL="GENERAS TU CONSULTA DE LAS HORAS"
i=0
WHILE RS.EOF=FALSE
    REDIM PRESERVER H_ocupadas(i)=RS("CAMPO").value
    i=i+1
WEND

'
ARREGLO AUTOGENERADO CON LAS 24 HORAS DEL DIA.... ESTE PUEDE VARIAR DEPENDIENDO DE LAS
'HORAS QUE VAYAS A ASIGNAR EN EL DIA
DIM H_libres(23)
for i=0 to 23
    if (i<10) then
        H_libres(i)="0"&i&":00 A.M."
    else
        if (i<12 and i>9) then 
            H_libres(i)=i&":00 A.M."
        else
            if i<24 then
                H_libres(i)=i&":00 P.M."
            end if
        end if
    end if
next

'
CREAR EL SELECT CON LAS HORAS QUE ESTARAN DISPONIBLES PARA EL DIA ENTEROEL CUAL SERA
'COMPARADO CON EL ARREGLO QUE SE FORME EN LA CONSULTA
response.Write "<select id=libres>"
for i=0 to ubound(H_libres)
    for j=0 to ubound(H_ocupadas)
        if H_ocupadas(j)<>H_libres(i) then 
            temp=temp+1
        else
            j=ubound(H_ocupadas)+10
        end if
        if temp=ubound(H_ocupadas) then 
            response.Write "<option value="&i&">"&H_libres(i)&"</option>"
            temp=0
        end if
    next
next
response.Write "</select>"

'
CREAR EL SELECT DE LAS HORAS QUE ESTEN EN EL ARREGLO LLENADO POR LA CONSULTA EN BASE DE DATOS
response
.Write "<select id=ocupadas>"
for i=0 to ubound(H_ocupadas)
    
response.Write "<option value="&i&">"&H_ocupadas(i)&"</option>"
next
response
.Write "</select>"
%> 
realmente no se si exista algo mas corto, pero pues funciona... el trozo de codigo pegado, compara las 24 horas del dia... contra un arreglo generado mediante consulta directa con tu base....

suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 29/05/2007, 19:40
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: combo a condicion

gracias mano, mira hice esto:

Cita:
<%v=request.QueryString("var")%>
<%
set rs=server.CreateObject("adodb.recordset")
sql="SELECT HORA FROM dbo.HORAS"
rs.ActiveConnection = db
rs.Open SQL
dim vh(24)
i=0
while not rs.eof
vh(i)=rs(0)
i=i+1
rs.movenext
wend
rs.close
set rs=nothing
%>
<%
set rs=server.CreateObject("adodb.recordset")
sql="SELECT HORA FROM dbo.CITA WHERE (FECHA = '"& v &"')"
rs.ActiveConnection = db
rs.Open SQL
dim h_ocupadas(24)
a=0
while not rs.eof
h_ocupadas(a)=rs(0)
a=a+1
rs.movenext
wend
rs.close
set rs=nothing
%>
<%
response.Write "<select id=libres>"
for i=0 to ubound(vh)
for j=0 to ubound(h_ocupadas)
if h_ocupadas(j)<>vh(i) then
temp=temp+1
else
j=ubound(h_ocupadas)+1
end if
if temp=ubound(h_ocupadas) then
response.Write "<option value="&i&">"&vh(i)&"</option>"
temp=0
end if
next
next
response.Write "</select>"

%>
lo q esta rojo es porq si lo redimensionaba los vectores como lo pusiste tu pues me decia q estaba fuera del intervalo....pero aun asi como lo hice anda mal, ya q si son menores de 25 pues en el combo siempre me deja un espacio en blanco al final.....como hago q el vector empiece en nada osea vector(0) y luego redimensaionarlo...como lo pusiste me genera error man...espero me ayudes
  #6 (permalink)  
Antiguo 29/05/2007, 20:26
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

mirando tus arreglo en rojo....

si les escribes 24 quiere decir que tendra 25 espacios, entonces debes ponerlo en 23, para que sean tus 24 horas

mirare tu codigo en mi pc, intentare realizar algo con el y ya estaremos en contacto
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #7 (permalink)  
Antiguo 30/05/2007, 10:24
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: combo a condicion

el problema q me salio con tu codigo,....primeor lo revise de nuevo y corregi unas cosillas y corrio chevere loq pasa es q cuando no seingresa fecha pues el combo no me muetsra nada, y deberia mostrarme las horas, todas. y si pongo una fecha donde si hay citas, pues me sale repetidas dos veces algunas horas y un espacio en blanco al final del combo....por eso es q no se q esta pasando.....vere tb q puedo hacer...espero me ayudes amigazo
  #8 (permalink)  
Antiguo 30/05/2007, 21:06
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

hola compañero

mira... depure mi codigo y lo compare con el tuyo en la parte que formas el select eliminando las opciones, y me di cuenta que hacia falta un TEMP=0
Código PHP:
<&#37;
response.Write "<select id=libres>"
for i=0 to ubound(vh)
    for 
j=0 to ubound(h_ocupadas)
        if 
h_ocupadas(j)<>vh(ithen
            temp
=temp+1
        
else
            
j=ubound(h_ocupadas)+1
        end 
if
        if 
temp=ubound(h_ocupadasthen
            response
.Write "<option value="&i&">"&vh(i)&"</option>"
            
temp=0
        end 
if
    
next
    temp
=<<<<<<<----------- ESTA LINEA FALTABA
next
response
.Write "</select>" 
agrege esa linea en el FOR, y ya no repite horas.....
espero que pueda quedar... sino... aki estamos
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #9 (permalink)  
Antiguo 31/05/2007, 19:14
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: combo a condicion

gracias amigazo....mira tb hice unas modificaciones y si me di cuenta de ese temp, mira aqui te dejo lo q hice y las modificaciones

Cita:
<%@LANGUAGE= "VBScript" %>
<!-- #include file="db.inc" -->
<%v=request.QueryString("var")%>

<HTML>
<head>

</head>
<BODY>
<FORM name="frm">
<p>
<label>
<input name="A" type="text" id="A" onBlur="horas(document.forms.frm.A.value);">
</label>
</p>
<p>
<label>
<input name="B" type="text" id="B">
</label>
</p>
<p>
</p>
<p>
<%
dim H_libres()
dim H_ocupadas()
set rs=server.CreateObject("adodb.recordset")
sql="SELECT HORA FROM dbo.HORAS WHERE ESTADO='1'"
rs.ActiveConnection = db
rs.Open SQL
i=0
while not rs.eof
redim preserve H_libres(i)
H_libres(i)=rs("hora").value
i=i+1
rs.movenext
wend
rs.close
set rs=nothing
%>
<%
if v<>"" then
set rs=server.CreateObject("adodb.recordset")
sql="SELECT HORA FROM dbo.CITA WHERE (FECHA = '"& v &"')"
rs.ActiveConnection = db
rs.Open SQL
a=0
if rs.eof then
redim preserve H_ocupadas(a)
H_ocupadas(a)="basura"
else
while not rs.eof
redim preserve H_ocupadas(a)
H_ocupadas(a)=rs("hora").value
a=a+1
rs.movenext
wend
end if
rs.close
set rs=nothing
else
redim preserve H_ocupadas(0)
H_ocupadas(0)="basura"
end if
%>
<%
response.Write "<select id=libres>"
temp=0
for i=0 to ubound(H_libres)
for j=0 to ubound(H_ocupadas)
if H_ocupadas(j)<>H_libres(i) then
temp=temp+1
else
j=ubound(H_ocupadas)+2
end if
if temp=ubound(H_ocupadas)+1 then
response.Write "<option value="&H_libres(i)&">"&H_libres(i)&"</option>"
temp=0
end if
next
temp=0
next

response.Write "</select>"

%>
</p>
</FORM>
<script language="javascript1.2" type="text/javascript">
function horas(variable)
{
segundos=0;

//setTimeout('document.location.href="2.asp?var='+va riable+'";',segundos);
frm.B.value=variable;
}

</script>
</BODY>
</HTML>
GRACIAS AMIGO......epseor volver con mas inquietudes y me dsepas ayudar como siempre nos vemos
  #10 (permalink)  
Antiguo 31/05/2007, 19:31
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

excelente..... a festejar
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #11 (permalink)  
Antiguo 07/06/2007, 08:45
 
Fecha de Ingreso: septiembre-2004
Mensajes: 50
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: combo a condicion

se k deberia habrirlo en otro post, pero como me has ayudado tn bie jeje, mira amigo l q sucede ahora es q me encuentro con un conflicto.

tengo en una base de datos registrados todos lo alimentos con sus valores nutricionales, divididos en categorias y subcategorias, asi como los medicamentos.

ahora cuando un pacente es registrado o mejor dicho su consulta es registrada el sistema le da opciones, si ademas de registrar la consulta desea crearle una nueva dieta alimenticia, una receta medica o un control de medidas, entonces lo he hehco como un aisstente, pero como haria para registrar una nueva dieta alimentica, que me salga en una pagina las cinco comidas que suele el medico usar para cada paciente, y junto los alimentos para que los pueda seleccionar y luego agregar a cda una de las comidas del dia y algo asi, me podrias dar una idea de como hacerlo, si creo me entiendes,a demastambien al crear una nueva receta medica como hacer que me agrege los medicamente suivididos por via de administracion q puede ser oral, etc... porfa espeor me ayudes como podria hacerlo, si necesito jvscript o no se, una idea amigazo, espero lo hagas cuidate y nos vemos
  #12 (permalink)  
Antiguo 07/06/2007, 10:44
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: combo a condicion

strike


lo que se puede realizar en este caso, es que al paciente, le agregues una columna, en donde puedas escribir la combinacion de medicinas y/o alimentos

preguntas de rigor, tus tablas de alimentos y medicinas, tienes una cmpo especifico para llamarlos?? por ejemplo

nombre ..///... especifico
valium ..///.... med1

me refiero a esto, si a un paciente se le receta una combinacion de alimntos y medicinas, agregarlos a la columna que llamariasmos por decir:"receta"

dentro de este campo, agregarias las combinaciones, separando cada alimento, medicina mediante ","(comas). por que con comas... es mas sencillo manipular... por que???

mira, si el valor del campo("receta") contiene
med1,com12,com15,med16,com45

entonces en el procedimiento para mostrar esos valores
Código PHP:
dim medi(0)
dim alime(0)
'PRIMERO CREAMOS EL ARREGLO DE LOS DATOS
a=split(campo("receta"),",")
'
CONSULTAMOS EL ARREGLO
for i=0 to ubound(campo)
'CREAMOS UN TEMPORAL PARA EVALUACION
temp=left(a(i),2)
'
separamos las medicinas de los alimentos 
en arreglos independientes
select 
case temp
case "med" redim preserve medi(i)=campo(i)
case 
"com" redim preserve alime(i)=campo(i)end select
next 
una ves que ya tenemos nuestros arreglos de comidas y alimentos separados... ya podemos usarlo en la consulta directa a la tabla
Código PHP:
function consulta(criteriotabla)
select case tabla
case 1 SQL="SELECT campo1,campo2,campo3 FROM alimentos where especifico= ' " criterio " ';"
case 2 SQL="SELECT campo1,campo2,campo3 FROM medicinas where especifico= ' " criterio " ';"
end select

StrCxn
="Provider=sqloledb;Initial Catalog=TABLA;User Id=UserID;Password=Pass;"
'definicion de las variables

set oCxn=server.CreateObject("ADODB.Connection")
'
apertura de la base
oCxn
.open StrCxn

set RS
=oConn.execute(SQL)
if 
Err=0 then
if RS.EOF=FALSE then
response
.write "Alimento :"&RS.Fields.Item("campo1").value
else
response.write "No Existe en base de datos"
end if
end if
end function 
una idea inicial... espero e guie
suerte
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.