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

tabla horarios

Estas en el tema de tabla horarios en el foro de ASP Clásico en Foros del Web. Buenas a todos! Hay verdaderos fenómenos en este foro y se aprendende mucho de ellos. Esto pensando en hacer un horario con una tabla para ...
  #1 (permalink)  
Antiguo 02/10/2003, 13:08
 
Fecha de Ingreso: agosto-2003
Mensajes: 9
Antigüedad: 20 años, 9 meses
Puntos: 0
tabla horarios

Buenas a todos!

Hay verdaderos fenómenos en este foro y se aprendende mucho de ellos.

Esto pensando en hacer un horario con una tabla para que los alumnos de un curso puedan seleccionar el horario que más les interesa: Las filas que fueran Lunes, Martes, Miércoles, Jueves, Viernes, Sábado y Domingo y las columnas 09:00, 09:30, 10:00...en intervalos de mdia hora hasta las 20:00 y escoger las horas con chechbox, pero no se muy bien como implementarlo para que sea de una manera eficiente y automatizada.

La idea sería guardar las horas seleccionadas en los checkbox en la base de datos para luego mostrar esos valores. Se mostrarían los alumnos por filas y las horas por columnas, esto para cada día de la semana por separado. Si hay dos alumnos que coinciden en una hora, que se muestre la celda en un color y si hay horas que sólo las tiene un alumno seleccionadas en otro color.

Estoy un poco liado y no se muy bien como salir del atolladero. Agradeceré cualquier consejo u orientación. Saludos
  #2 (permalink)  
Antiguo 02/10/2003, 13:23
 
Fecha de Ingreso: marzo-2003
Ubicación: onde toy?
Mensajes: 1.437
Antigüedad: 21 años, 3 meses
Puntos: 9
vamos por parte...de seguro vas a tener el siguiente problema...te lo digo por experiencia...recien salí de él...


primero debes insertar los valores a la base de datos y ese iba a ser el problema...

Pagina del formulario(iserta este código, es el formulario completo), claro está que puede haber una mejor maner de hacerlo.

<form action="inserta.asp" method="post" name="form2" onSubmit="MM_validateForm('dia','','RisNum','mes', '','RisNum','anio','','R');return document.MM_returnValue">
<table width="276">
<!--DWLayoutTable-->
<tr>
<td width="61" Class ="horas">Fecha:</td>
<td colspan="3"><input name="dia" class ="input" type="text" id="dia" value=<%=dia%> size="1" maxlength="0">
<font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>/
<input name="mes" class ="input" type="text" id="mes" size="2" maxlength="0" value=<%=mes%>>
/
<input name="anio" class="input" type="text" id="anio" size="4" maxlength="0" value=<%=anno%>>
</strong></font></td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="08:00">08:00</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="12:00">12:00</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="16:00">16:00</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="20:00">20:00</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="08:30">08:30</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="12:30">12:30</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="16:30">16:30</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="09:00">09:00</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="13:00">13:00</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="17:00">17:00</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="09:30">09:30</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="13:30">13:30</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="17:30">17:30</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="10:00">10:00</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="14:00">14:00</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="18:00">18:00</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="10:30">10:30</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="14:30">14:30</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="18:30">19:30</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="11:00">11:00</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="15:00">15:00</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="19:00">19:00</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td width="61" class="horas"><input type="checkbox" class ="input" name="hora" value="11:30">11:30</td>
<td width="63" class="horas"><input type="checkbox" class ="input" name="hora" value="15:30">15:30</td>
<td width="66" class="horas"><input type="checkbox" class ="input" name="hora" value="19:30">19:30</td>
<td width="66" class="horas">&nbsp;</td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
<tr>
<td colspan="4"><input name="enviar" type="submit" id="enviar" value="Enviar"></td>
</tr>
</table>
</form>



Página que recibe el form, que es donde insertas los valores en la base de datos: Esta es la que me quebró la cabeza y gracias a varios de acá logré terminar...


lo importante es esto....


horas = request.form("hora")

arrHoras = split(horas,",")

for i=0 to Ubound(arrHoras)
c = trim(arrHoras(i))
arrHoras(i) = c
next

for i = 0 to Ubound(arrHoras)
sql="Insert into Actividades (dia, mes, año, hora, usuario, estado, actividad, solicita) values ( '"& dia &"', '"& mes &"', '"& anno &"', '"& arrHoras(i) &"', '"& codusuario &"', '"& estado &"' , '"& actividad &"' , '"& solicita &"' )"
conexion.Execute(sql)

Next



espero te sirva...
__________________
Buena Vida...
Francisco
  #3 (permalink)  
Antiguo 02/10/2003, 14:02
 
Fecha de Ingreso: agosto-2003
Mensajes: 9
Antigüedad: 20 años, 9 meses
Puntos: 0
Muchas gracias! haré pruebas con el código que me comentas y te digo.
  #4 (permalink)  
Antiguo 06/10/2003, 12:53
 
Fecha de Ingreso: agosto-2003
Mensajes: 9
Antigüedad: 20 años, 9 meses
Puntos: 0
He estado revisando el código y no es lo que necesitaba exactamente aunque te vuelvo a agradecer tu consejo.

He estado haciendo algunas pruebas con un código que he implementado pero no me coge más allá de los primeros 46 checkbox. Existe algún límite en el número de checkbox que se pueden insertar? Qué es lo que estoy haciendo mal? Por favor, una ayudita.

Pongo algo de código:

Primero expongo los checkbox de la siguiente manera para que el usuario habilite los que desee:

Código:
  
  <tr>
    <td bgcolor="#CCCCCC"><font face="Arial" size="1" color="#000000"><strong>LUNES</strong></font></td>
<% for i=1 to 23 %>
    <td bgcolor="#FFFFFF"><input type="checkbox" name="l<%=i%>" value="1"></td>
<% next %>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC"><font face="Arial" size="1" color="#000000"><strong>MARTES</strong></font></td>
<% for i=1 to 23 %>
    <td bgcolor="#FFFFFF"><input type="checkbox" name="m<%=i%>" value="1"></td>
<% next %>
  </tr>
Sería lo mismo para todos los días de la semana. Hago el bucle de 1 a 23, porque los campos de la base de datos para las horas de cada día son l1,l2,l3,... m1,m2,m3...., x1,x2,x3.... En otra página recojo los valores de los checkbox y actualizo una tabla para que almacene los que han sido habilitados:

Código:
                             for i=1 to 23
				lunes=request.form("l" & i)
				
				if lunes="1" then
					strQuery = "UPDATE horarioalum SET" & " " & "l" & i &"=TRUE"
					strQuery= strQuery & " WHERE alumno=" & 198
					set ors=conn.execute(strQuery)
					set ors = Nothing
		 		end if	
			next

			for i=1 to 23
				martes=request.form("m" & i)

				if martes="1" then
					strQuery = "UPDATE horarioalum SET" & " " & "m" & i &"=TRUE"
					strQuery= strQuery & " WHERE alumno=" & 198
					set ors=conn.execute(strQuery)
					set ors = Nothing
		 		end if	
			next
Esto también sería para todos los días de la semana.

Quizás no estoy implementándolo bien o hay una manera más eficiente pero está es la que he encontrado. Los checkbox que coge lo hace bien pero a partir del miércoles ya no los coge.

Gracias por vuestra ayuda.
  #5 (permalink)  
Antiguo 06/10/2003, 13:01
 
Fecha de Ingreso: agosto-2003
Mensajes: 9
Antigüedad: 20 años, 9 meses
Puntos: 0
Disculpen mi despiste, si que funciona correctamente. Por lo menos espero que a alguien le valga el código.

Un saludo
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 16:27.