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

como optengo columnas y no filas desde una BD?

Estas en el tema de como optengo columnas y no filas desde una BD? en el foro de ASP Clásico en Foros del Web. Hola, como se supone que optendo Columnas desde una BD y no filas... por lo general todo el mundo optiene filas... donde la celda uno ...
  #1 (permalink)  
Antiguo 10/05/2003, 08:25
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 4 meses
Puntos: 6
como optengo columnas y no filas desde una BD?

Hola, como se supone que optendo Columnas desde una BD y no filas... por lo general todo el mundo optiene filas... donde la celda uno es ID, la dos es Nombre, tercer es Foto..etc y esa fila es de un usuario especifico..... pero y si tengo que mostrar una fila donde cada celda de la fila tenga un registro no relacionados..osea la primera celda la foto de julian...la segunda la foto de pedro... pero cada uno tiene su ID diferente...espero haberme explicado....

no creo que el rs.BOF and rs.EOF resulte en esto...alguien me da una luz.?


Saludos.
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 10/05/2003, 08:29
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
AHHHHH, bien
No he entendido nada......

Mira a ver si lo explicas mejor
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #3 (permalink)  
Antiguo 10/05/2003, 09:06
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 4 meses
Puntos: 6
me explico por lo general cuando haces una consulta a una base de datos, o muestra datos desde la BD, los resultados sale en filas....

de esta forma:

ID | usuario | nombre | apellidos | foto| etc...

donde todos los campos de esa fila pertenecen al un solo usuario y el siguente usuario vendra en la fila siguiente...

ahora bien y si lo que quiero es columnas?
osea de esta forma:

| ID_foto | ID_foto | ID_foto |

donde cada ID_foto es diferente...y que en la pagia se ve como una fila, pero esta fila y que en la segunda fila en la pagina salgan otras ID_foto donde estas no estan relacionadas...

__________________
www.dataautos.com

Última edición por asinox; 10/05/2003 a las 09:10
  #4 (permalink)  
Antiguo 10/05/2003, 13:04
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
¿Asi?
<%
response.write(rs("ID") & "_" & rs("foto") & " | ")
%>
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 10/05/2003, 20:22
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 4 meses
Puntos: 6
maestro lo que puse fue para ejemplizar lo que quiero..y lo que quiero es consultar la tabla en la BD, pero no como siempre se hace, y creo que no me has entendido.... si quiero mostrar solo las fotos que existen no las quiero una debajo de otra.... quiero una seguida de la otra en forma linear,pero que en la base de datos las fotos pertenecen a la columna del campo FOTO... entiendes?
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 10/05/2003, 21:44
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Creo que tienes un pequeño lio.
Columna y campo es lo mismo (Vertical)
Fila y registro es lo mismo. (Horizontal)

Si tu tienes una base de datos asi
ID - Nombre - FOTO
1 pepe imagen1.jpg
2 juan imagen2.jpg
3 lucas imagen3.jpg

Y que es lo que quieres hacer, ¿sacar todas las fotos seguidas?, en vez de una debajo de otra.

Dime si te he entendido.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #7 (permalink)  
Antiguo 11/05/2003, 20:54
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 4 meses
Puntos: 6
se que son lo mismo, pero solo trato de aclararte...quiero desplegar las columnas de x registro.... y asi continuar...entiendes?
__________________
www.dataautos.com
  #8 (permalink)  
Antiguo 11/05/2003, 21:04
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Es que no te entiendo, a ver un registro tiene un numero determinado de columnas o campos depende de la construccion de la tabla, para mostrarlas basta con poner
rs("campo1)
rs("campo2)
etc

Con el bucle do while not rs.eof recorres los registros o filas y con rs("campo1), rs("campo1), etc, recorres los campos o columnas.

Combinalo como quieras no tiene mas secreto, yo no le veo la dificultad, creo que estas trabado en algo sin importacia que te esta liando.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #9 (permalink)  
Antiguo 11/05/2003, 21:27
 
Fecha de Ingreso: mayo-2001
Mensajes: 87
Antigüedad: 23 años, 1 mes
Puntos: 0
el que salgan hacia abajo o hacia el lado va netamente en el ciclo que va a descargar el resultado de la consulta SQL.


<table>
cuenta=0
<tr>
-----------empieza aqui el ciclo

<td>foto1</td>
cuenta=cuenta +1


if cuenta = 4 then
</tr>
end if
---------------loop------------------------
</table>

creo que asi mostrarias 3 fotos hacia el lado .

mmm no se tengo sueño ya ni pienzo
  #10 (permalink)  
Antiguo 11/05/2003, 21:30
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 4 meses
Puntos: 6
maestro te olvidas si tengo amplios conocimientos en ASP...pues no lo tengo, por ello pregunto....

gracias por la ayuda ;)
__________________
www.dataautos.com
  #11 (permalink)  
Antiguo 15/02/2009, 11:54
 
Fecha de Ingreso: febrero-2009
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: como optengo columnas y no filas desde una BD?

Creo que a asinox le pasa lo que a mí, y los maestros no entendéis bien lo que queremos.
Quiero desplegar mi base de datos de 3 en 3 hacia lo horizontal, y que luego continue en lo vertical, repitiendo de 3 en 3.. ello no es fácil, ni me sale con la explicación facilitada arriba
Ojo.. he conseguido abrir la base de datos tanto en horizontal como en vertical... pero no puedo controlarlo como quiero
¿Qué habría que poner para que se desplegara sólo 3 registros hacia el horizontal, y continuara en el vertical otros tres y así..?
  #12 (permalink)  
Antiguo 21/02/2009, 07:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: como optengo columnas y no filas desde una BD?

Hola

De esto hace ya 6 años, ¿un nuevo record?

Prueba con esto

Código asp:
Ver original
  1. <%
  2. total_registros_encontrados = 52
  3.  
  4. For j = 0 to CInt(total_registros_encontrados) Step 5
  5. temp = temp & " " & j
  6. Next 'j
  7.  
  8. arreglo = Split(Replace(Trim(temp), " ", ","),",")
  9.  
  10. For x = 0 to UBound(arreglo)
  11. arreglo(x) = arreglo(x)
  12. Next
  13. %>
  14.  
  15. <table border="1">
  16. <tr>
  17.  
  18. <%
  19. For i = 1 to CInt(total_registros_encontrados)
  20. Response.Write "<td>" & i & "</td>"
  21. cad = " i = " & Join(arreglo, " or  i  = ")
  22. If eval(cad) Then
  23. fila = i / 5
  24. Response.Write "</tr><tr>"
  25. End if
  26. Next 'i
  27. %>
  28. </tr>
  29. </table>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #13 (permalink)  
Antiguo 19/09/2009, 05:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como optengo columnas y no filas desde una BD?

Buenas Adler... éste código funciona de por sí.. pero cómo lo conecto a una base de datos? he hecho mil pruebas y sólo me coge el primer registro, multiplicando su presencia por 52.... y debería ser un registro por columna... tipo como aparecen los contactos en facebook o en cualquier otra página de contactos.




Cita:
Iniciado por Adler Ver Mensaje
Hola

De esto hace ya 6 años, ¿un nuevo record?

Prueba con esto

Código asp:
Ver original
  1. <%
  2. total_registros_encontrados = 52
  3.  
  4. For j = 0 to CInt(total_registros_encontrados) Step 5
  5. temp = temp & " " & j
  6. Next 'j
  7.  
  8. arreglo = Split(Replace(Trim(temp), " ", ","),",")
  9.  
  10. For x = 0 to UBound(arreglo)
  11. arreglo(x) = arreglo(x)
  12. Next
  13. %>
  14.  
  15. <table border="1">
  16. <tr>
  17.  
  18. <%
  19. For i = 1 to CInt(total_registros_encontrados)
  20. Response.Write "<td>" & i & "</td>"
  21. cad = " i = " & Join(arreglo, " or  i  = ")
  22. If eval(cad) Then
  23. fila = i / 5
  24. Response.Write "</tr><tr>"
  25. End if
  26. Next 'i
  27. %>
  28. </tr>
  29. </table>

Suerte
  #14 (permalink)  
Antiguo 19/09/2009, 14:47
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: como optengo columnas y no filas desde una BD?

Hola

Prueba así

Código asp:
Ver original
  1. ' conexión bd
  2. ' consulta
  3. set rs = oConn.Execute(SQL)
  4. registros = rs.getrows()
  5. rs.Close
  6. Set rs = Nothing
  7. %>
  8. <table>
  9. <tr>
  10. <%
  11. For i = 0 to UBound(registros,2)
  12. If i Mod 5 = 0 Then
  13. Response.Write "</tr><tr>"
  14. End If
  15. Response.Write "<td>" & registros(campo,i) & "</td>"
  16. Next 'i
  17. %>
  18. </tr>
  19. </table>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #15 (permalink)  
Antiguo 20/09/2009, 18:28
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como optengo columnas y no filas desde una BD?

Buenas de nuevo.
No me ha servido éste código, pero sí el anterior. Probando probando he podido introducir la base de datos y todo va bien, menos... que no sé porqué me elimina siempre el primer registro.
Si ordeno por nombre, me eliminará el primero que empieze por A, si lo hago por número, pues me eliminará el 1...y no sé cómo arreglarlo.

De hecho, es que tengo que decirle incluso que existe un registro menos para que no me dé el error de que EOF o BOF es True y todo eso..

El código empieza así:


<%
Registros=6 (debería ser 7, pero entonces me daría error)
Set obj_Conn = Server.CreateObject ("ADODB.Connection")
Set obj_RS = Server.CreateObject ("ADODB.RecordSet")
Obj_Conn.Open "db"
SQL= "Select * FROM * Order By Nombre Asc"
Obj_RS.Open SQL, Obj_Conn, 3,3
%>




<%
For k = 0 to CInt(Registros) Step 4
temp = temp & " " & k
Next 'k

arreglo = Split(Replace(Trim(temp), " ", ","),",")


For z = 0 to UBound(arreglo)
arreglo(z) = arreglo(z)

Next



%>

<table border="0" width="100%" cellspacing="1" id="table6" style="border-width: 0px">
<tr>

<%

For a = 1 to CInt(Registros)
Obj_RS.MoveNext

%>

A partir de aquí desplego ya la base de datos, y todo guay.. salvo ese detalle... ¿alguna idea?
Gracias por todo.
_-----------------------------------------------------------------------


Cita:
Iniciado por Adler Ver Mensaje
Hola

Prueba así

Código asp:
Ver original
  1. ' conexión bd
  2. ' consulta
  3. set rs = oConn.Execute(SQL)
  4. registros = rs.getrows()
  5. rs.Close
  6. Set rs = Nothing
  7. %>
  8. <table>
  9. <tr>
  10. <%
  11. For i = 0 to UBound(registros,2)
  12. If i Mod 5 = 0 Then
  13. Response.Write "</tr><tr>"
  14. End If
  15. Response.Write "<td>" & registros(campo,i) & "</td>"
  16. Next 'i
  17. %>
  18. </tr>
  19. </table>

Suerte
  #16 (permalink)  
Antiguo 21/09/2009, 04:42
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: como optengo columnas y no filas desde una BD?

Hola

Es extraño que diga que el primero si te sirvió y el segundo no, cuando ambos hacen exactamente lo mismo, solo que el segundo es mucho mas compacto y entendible.

Para que te recoja el primer registro solo has de cambiar esta linea

For a = 1 to CInt(Registros)

por

For a = 0 to CInt(Registros)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #17 (permalink)  
Antiguo 21/09/2009, 05:40
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: como optengo columnas y no filas desde una BD?

Buenas. Esa solución ya lo probé y no me funcionó. De hecho cuando pongo el 0 en vez del uno, debo reducir el número de registros. Ejemplo, si digo Registros=6 puedo poner el 1 , si pongo Registros=0 tengo que poner Registros=5. El caso es que hay 7 Registros, y si pongo el 7 me da error de EOF igual a True


Sobre la segunda solución, no hay forma de que me funcione la base de datos, puesto que me dice que el elemento está cerrado.



Cita:
Iniciado por Adler Ver Mensaje
Hola

Es extraño que diga que el primero si te sirvió y el segundo no, cuando ambos hacen exactamente lo mismo, solo que el segundo es mucho mas compacto y entendible.

Para que te recoja el primer registro solo has de cambiar esta linea

For a = 1 to CInt(Registros)

por

For a = 0 to CInt(Registros)

Suerte
  #18 (permalink)  
Antiguo 21/09/2009, 07:51
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: como optengo columnas y no filas desde una BD?

Hola

Veamos, usa el segundo script. Fijate que usa getrows()

Un ejemplo sencillo

Código asp:
Ver original
  1. Dim campo1
  2. campo1 = 0
  3.  
  4. SQL = "select campo1 from tabla where campo1 = "&valor&";"
  5. set rs = oConn.Execute(SQL)
  6. registros = rs.getrows()
  7. rs.Close
  8. Set rs = Nothing
  9. ....
  10. Response.Write "<td>" & registros(campo1,i) & "</td>"

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 23:01.