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

Listado en dos o tres columnas

Estas en el tema de Listado en dos o tres columnas en el foro de ASP Clásico en Foros del Web. Amigos: Actualmente listo en una pagina registros de una base de datos, pero uno debajo de otro. Lo que necesito hacer ahora es listar, por ...
  #1 (permalink)  
Antiguo 17/09/2004, 10:12
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Listado en dos o tres columnas

Amigos:

Actualmente listo en una pagina registros de una base de datos, pero uno debajo de otro. Lo que necesito hacer ahora es listar, por ejemplo una foto de un producto y su precio, pero en dos comlumnas.
Como debo encarar la cuestión?? Algún tutorial o idea donde pueda investigar??
Saludos y gracias por la ayuda de todos ustedes...

ARIEL.
  #2 (permalink)  
Antiguo 17/09/2004, 10:16
 
Fecha de Ingreso: mayo-2001
Ubicación: Monterrey, N.L.; México
Mensajes: 558
Antigüedad: 23 años, 11 meses
Puntos: 0
Que tal amigo !

Checate las Faqs de ASP. Ahí viene un ejemplo de cómo hacer lo que necesitas.

Ahorita no tengo ese ejemplo a la mano, pero se que lo he visto en las Fasq.

Saludos
__________________
Luis Gerardo Soto Bonilla
[email protected]
Monterrey, Nuevo León
México
  #3 (permalink)  
Antiguo 17/09/2004, 10:27
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Estimado usuario:

Veo que tu problema radica en el formato de salida, su ya tienes tu información agregada y organizada correctamente creo que la cuestión sería el estudiar un buen manual de HTML (tablas,imagenes etc..). En cualquier buscador lo podrás encontrar.

Un saludo.

Orlando Rios
  #4 (permalink)  
Antiguo 17/09/2004, 10:45
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
En el sistema actual que utilizo tengo en una pagina un listado donde mediante un bucle me lee de una tabla determinada los ultimos seis registros ingresados y los ubica uno debajo de otro. Lo que no logro hacer es, por ejemplo, con otro bucle colocar tres registros en una columna y los otros tres en la columna de al lado dentro de una misma tabla, se entiende??? El problema lo tengo con todo, el código y el formato para mostrarlo.
Desde ya gracias....

ARIEL.

Última edición por armandoweb; 17/09/2004 a las 10:48
  #5 (permalink)  
Antiguo 17/09/2004, 13:02
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Podría ser algo así:

Código:
<table border=1>
<tr><td valign="top">
<%
LimMax = 15 'Puede ser el recordount
for i=1 to LimMax
   if  i = 1 Then
	 %><table border=1><%
	 End If
   if  i = CInt(LimMax/2)+1 Then
	 %></table><td  valign="top"><table border=1><%
	 End if
   %><tr><td>Ciclo<td><%=i%><%
Next
%>
  #6 (permalink)  
Antiguo 18/09/2004, 06:32
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Myakire:

Agradezco tu ayuda pero no es exactamente lo que deseo hacer.
Si alguie más puede ayudarme le estare muy agradecido.
Saludos a todos.

ARIEL
  #7 (permalink)  
Antiguo 18/09/2004, 08:40
 
Fecha de Ingreso: septiembre-2003
Mensajes: 24
Antigüedad: 21 años, 7 meses
Puntos: 0
Mira a ver si esto te sirve

<table width="434" align="center">
<tr>
<%
counter=0
Do While Not Rs.EOF
if rs("imagen")<>"" then
%>

<td colspan="4">
<div align="center"><font size="2"
color="#666666"><img src="mante/images/<%=rs("imagen")%>" vspace="0"
hspace="5" border="0"><br>
<%
Response.Write "<b><font face=Verdana size=1><b><a href="
&rs.Fields("enlace") & " target=_blank>"&rs("libro")&"</a> &nbsp;
</b></font><br>"%>

</font></div><br>
</td>
<%
else
%>
<td colspan="4">
<%
Response.Write "<b><font face=Verdana size=1><b><a href=" &rs.Fields
("enlace") & " target=_blank>"&rs("libro")&"</a> &nbsp; </b></font><br>"%>

</td>
<%
end if
counter=counter+1
Rs.MoveNext
%>
<%If counter MOd 2=0 Then
Response.Write "</tr><tr>"
Loop
%>
</table>
  #8 (permalink)  
Antiguo 18/09/2004, 09:09
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Hola JaviM:
Ese ejemplo lo tengo, pero no es lo que necesito. El ejemplo que me das lista un registro de la base de datos en dos columnas, pero un solo registro. Lo que estoy necesitando que en cada columna haya un registro distinto y con un bucle que me lea los ultimos 4 registros por ejemplo.
No se si me expreso bien pero quiero tener dos columnas con 4 registros distintos, los últimos ingresados.

Gracias y espero que puedan ayudarme....

ARIEL.
  #9 (permalink)  
Antiguo 20/09/2004, 08:14
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Creo que el ejemplo que te pasé facilmente lo puedes adaptar para que funcione apartir de una tabla. Obtener la idea era lo dificil, y creo ya son dos ideas diferentes y funcionales.
  #10 (permalink)  
Antiguo 20/09/2004, 08:26
Avatar de DkarnDuuk  
Fecha de Ingreso: marzo-2004
Mensajes: 626
Antigüedad: 21 años
Puntos: 2
"creo" q yo tengo hecho eso con unos cuadros combiandos, pero no se si es esto lo que quieres:

simplemente le tienes q indicar cuando le pides q t saque los registros en la lista:

mivariable_a_sacar="<%=(rs("foto"))"& &"(rs("precio"))"& &"(rs("stock"))%>"

lo malo de este ejemplo es a la hora de sacarlo en columnas en condiciones:

foto1.jpg | 1000€ | 5
misuperfoto1.jpg | 500€ | 6

__________________
bla, bla, bla......
  #11 (permalink)  
Antiguo 20/09/2004, 16:19
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Lo que estoy necesitando hacer es algo como la seccion de articulos especiales en la página principla de mercado libre www.mercadolibre.com.ar
Alguien que me ayude....

Gracias.

ARIEL.
  #12 (permalink)  
Antiguo 20/09/2004, 17:43
 
Fecha de Ingreso: abril-2004
Mensajes: 29
Antigüedad: 21 años
Puntos: 0
fijate esto

hola armandoweb.

fijate si este codigo te sirve.
Doy por sentado que el bucle para obtener los 4 o 6 u 8 ultimos registros ya lo tenes.
Es para complementar el bucle que ya tenes, y no para realizar otro nuevo

<%
col=1
response.write "<table>"
'aquí comensaria el bucle con DO WHILE o FOR

if condicion = "si" then 'Si está dentro de los ultimos registros
if col=1 then
response.write "<tr><td>"
response.write "aqui pones los datos del registro que cumplió la condición"
response.write "</td>"
col=2

else
if col=2 then
response.write "<td>"
response.write "aqui pones los datos del registro que cumplió la condición"
response.write "</td>"
col=3

else
response.write "<td>"
response.write "aqui pones los datos del registro que cumplió la condición"
response.write "</td></tr>"
col=1

end if
end if
else
end if

'aquí colocas el LOOP o NEXT dependiendo de que utilices para hacer el bucle
%>

es un poco rudimentario pero para los que no somos tan experto es bastante sencillo.
es para 3 columnas pero si lo queres ampliar o disminuir solo tenes que agregar o quitar if.

Aunque creo que la opcion de Myakire es bastante justa para lo que buscas.


Espero que te sirva.
saludos de un santafecino a otro santafecino

Última edición por dageba; 20/09/2004 a las 17:46
  #13 (permalink)  
Antiguo 21/09/2004, 11:58
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Hola de nuevo:

Estuve probando la solucion de Myakire pero no lo puedo adaptar.....
La tabla con el bucle no me queda....
Todos coinciden pero yo no lo logro hacer..
Ayuda please!

ARIEL.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #14 (permalink)  
Antiguo 21/09/2004, 12:27
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
No te presiones por algo es es verdaderamente sencillo, mira, con recordset quedaría así:

Código:
<table border=1>
<tr><td valign="top">
<%
  Dim oConn1,oRs1
  Set oConn1 = Server.CreateObject("ADODB.Connection")
  Set oRS1 = Server.createobject("ADODB.Recordset")
  oConn1.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("prueba.mdb"))
  oRS1.Open "select * from columnas",oConn1,3,3

LimMax = oRs1.RecordCount
Cnt=1
While Not oRs1.Eof
   if  Cnt = 1 Then
	 %><table border=1><%
	 End If
   if  Cnt = CInt(LimMax/2)+1 Then
	 %></table><td  valign="top"><table border=1><%
	 End if
   %><tr><td>Ciclo:&nbsp;<%=Cnt%><td><%=oRs1(1)%><%
	 Cnt = Cnt + 1
	 oRs1.MoveNext
Wend
%>
Ahora, despues de que veas que si funciona (ya lo chequé yo ), analízalo encuentrale la lógica, veras que es muy simple adaptarlo a 3 columnas.

Saludos
  #15 (permalink)  
Antiguo 23/09/2004, 14:39
Avatar de armandoweb  
Fecha de Ingreso: enero-2003
Ubicación: San Cristobal, Santa Fe, Argentina
Mensajes: 544
Antigüedad: 22 años, 3 meses
Puntos: 7
Myakire:

He probado tu código, lo adapté y funcionó, pero luego me di cuenta que me lista con el siguiente formato:

noticia1 | noticia4
noticia2 | noticia5
noticia3 | noticia6

El formato de salida deberia ser el siguiente:

noticia1 | noticia2
noticia3 | noticia4
noticia5 | noticia6

El por qué de esta opción es porque teniendo muchos registros no me mostraría los últimos 6 ingresados en la tabla y también me lista todos y necesito solo los 6 últimos.
Yo se que es demasiado pedir y que me brindaste la solución a un problemón, pero he intentado adaptarlo a estas características y no doy pie con nada....
Si puedes ayudarme Myakire te lo agradeceré muchisimo, sino lo puedes hacer lo entiendo.
Muchisimas gracias por anticipado.
Saludos.

ARIEL.
__________________
www.awdesarrollos.com.ar - [twitter: @armandoweb] - [Skype: awdesarrollos"]
  #16 (permalink)  
Antiguo 24/09/2004, 02:31
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 23 años, 2 meses
Puntos: 2
Creo que valdría esto :

Código:
<table>
<tr>
  <% Do While Not rs.EOF %>
  <td><%=rs("campo")%></td>
  <% counter=counter+1
  If counter Mod 2=0 Then Response.Write "</tr><tr>"
  rs.MoveNext
  Loop %>
</tr>
</table>

Última edición por mrgubu; 24/09/2004 a las 02:33
  #17 (permalink)  
Antiguo 24/09/2004, 08:09
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
¡¡ Mas fácil que la opción anterior !!

Código:
<table border=1>
<%
LimMax = 15 'Puede ser el recordount
for i=1 to LimMax
   if  i MOD 2 <> 0 Then%><tr><% End If
   %><td>Ciclo&nbsp;<%=i%><%
Next
%>
</table>
Recuerda que hay que analizar y comprender las soluciones propuestas, para adaptarlas a nuestras necesidades.

Saludos
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 22:11.