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

Dibujar filas y columnas segun datos de BD

Estas en el tema de Dibujar filas y columnas segun datos de BD en el foro de ASP Clásico en Foros del Web. Hola a tod@s. A ver si alguien me puede ayudar. Tengo que dibujar una tabla de 8 columnas y un numero indefinido de filas. Este ...
  #1 (permalink)  
Antiguo 04/11/2005, 10:49
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Dibujar filas y columnas segun datos de BD

Hola a tod@s.
A ver si alguien me puede ayudar.
Tengo que dibujar una tabla de 8 columnas y un numero indefinido de filas. Este numero de filas depende de los datos que tengo en una base de datos.
Esto es lo que tengo:

<TABLE BORDER=1>
<TR>
<% While (not RS.Eof) %>
<TD width=12> <%=Server.HTMLEncode(Cstr(RS("pueblo")))%></TD>
<%
RS.MoveNext
wend
%>
</TR>
</TABLE>

Alguien me puede ayudar?
Gracias.
  #2 (permalink)  
Antiguo 04/11/2005, 11:16
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
1.- Crea los encabezados de las 8 columnas. Ej para 3 columnas: pueblo, habitantes, renta media:
Código:
<TABLE>
<TR><TD width="34%">
Pueblo
</TD>
<TD width="33%">
Habitantes
</TD>
<TD width="33%">
Renta media
</TD></TR>
2.- Haz un bucle con:
Código:
<%
'Mientras no llegue al final de la tabla...
Do While not RS.EOF
%>
3.- Coloca debajo lo siguiente:
Código:
<TR><TD width="34%">
<%=RS("pueblo")%>
</TD>
<TD width="33%">
<%=RS("habitantes")%>
</TD>
<TD width="33%">
<%=RS("renta_media")%>
</TD></TR>
4.- Nos movemos al siguiente registro
Código:
<%
RS.MoveNext
Loop
%>
</TABLE>
Facilito, ¿verdad?. ¡¡¡Ojo!!!, como tengas muchos registros en la BD, puede tardar lo suyo, por eso lo mejor es que pagines los resultados, en bloques de 10 en 10, de 20 en 20, o de lo que creas conveniente, para que debajo te salgan los links a las páginas siguientes (como en este foro, ...o parecido). Pero bueno, ese es otro tema... deberías usar el buscador de este foro.

Y no te olvides cerrar y limpiar todo (recordset y conexión).

Última edición por 3pies; 04/11/2005 a las 11:22
  #3 (permalink)  
Antiguo 04/11/2005, 11:24
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias por contestar, pero creo que no es eso lo que necesito.
Lo que tengo es que mostrar simplemente una tabla con todos los pueblos de una provincia, uno detras del otro. Solo un campo de la tabla.

Por ejemplo los pueblos de Madrid:

Ajalvir Alapardo Alameda del Valle Alcala de Henares Alcobendas Alcorcon Aldea del Fresno Algete Algodor Alpredrete Ambite Anchuelo Aoslos Aranjuez Arganda del Rey Arroyomolinos Barajas Batres Becerril de la Sierra

Pero metidos en una tabla con ocho o diez columnas como mucho y tantas filas como pueblos tenga la provincia.
Me entiendes?
Espero me puedas ayudar.
Y Gracias
  #4 (permalink)  
Antiguo 04/11/2005, 11:29
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
jajajaj por ahi hubieras empezado

y en las 8 columnas van los primeros 8 pueblos y asi en la sigueinte fila los otros 8 pueblos?????
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 04/11/2005, 11:36
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Si, eso es exactamente lo que necesito.
Sabeis como puedo hacerlo?
  #6 (permalink)  
Antiguo 04/11/2005, 11:38
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Entendido. Mira este ejemplo que tengo hecho para un sitio que tengo a medias (este ejemplo es completo). El ejemplo es para 2 columnas, pero puedes adaptarlo con poco esfuerzo. El ejemplo cierra todas las etiquetas <TD> y <TR>, aunque haya registros impares (por ejemplo 3 registros):
Código:
<%
'Si no está vacía la consulta
if not rs.EOF then
	contador=0
	Do While not rs.EOF
		contador=contador+1
		%>
		<td width="50%" align="center" valign="top"><b><%=AcomodarTexto(InicialesEnMayusculas(rs("nombre")))%></b>
		<%
		'Si el usuario quiere mostrar su foto, la colocamos aquí
		if not isnull(rs("foto")) and rs("foto")<>"" and rs("mostrarfoto")=true and rs("fotoaceptada")=true then
		%>
			<br><img border="0" src="../fotosusuarios/<%=rs("foto")%>" onerror="src='../fotosusuarios/errorenfotodelcolaborador.jpg';" alt="" width="100" height="125">
		<%else%>
			<br><img border="0" src="../fotosusuarios/usuariosinfoto.jpg" onerror="src='../fotosusuarios/colaboradorsinfoto.jpg';" alt="" width="100" height="125">
		<%end if
		'Si quiere mostrar su email, lo colocamos aquí
		if rs("mostraremail")=true then
		%>
			<br>
			<%
			'Llamamos a la función ReemplazarArroba
			Response.Write ReemplazarArroba(rs("email"))
			%>
		<%end if%>
		</td>
		<%if contador mod 2=0 and totalcolaboradores>contador then%>
			</tr><tr><td colspan="2">&nbsp;</td></tr><tr><td colspan="2">&nbsp;</td></tr><tr>
		<%elseif contador mod 2<>0 and totalcolaboradores=contador then%>
			<td width="50%" align="center" valign="top">&nbsp;</td>
		<%end if
		'Nos movemos al siguiente registro
		rs.MoveNext
	Loop
'Si no hay colaboradores
else
	response.write "<td colspan=""2"" valign=""top""><div align=""justify"">En estos momentos, y dado que hace poco tiempo que estamos en la red, no disponemos de colaboradores.</div></td>"
end if
'Cerramos y limpiamos los objetos
rs.close
oConn.close
set rs=nothing
set oConn=nothing
%>
No obstante, si quieres algo más sencillo aquí tienes un ejemplo (usa el buscador del foro): http://www.forosdelweb.com/showthrea...ighlight=filas y aquí otro: http://www.forosdelweb.com/showthrea...light=columnas y más que hay :)

Última edición por 3pies; 07/11/2005 a las 03:04
  #7 (permalink)  
Antiguo 04/11/2005, 11:46
 
Fecha de Ingreso: junio-2005
Mensajes: 67
Antigüedad: 19 años, 10 meses
Puntos: 0
Gracias.
Voy a probar
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:38.