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

selección múltiple o tratarlas por separado? comentar el código y debatir sobre esto

Estas en el tema de selección múltiple o tratarlas por separado? comentar el código y debatir sobre esto en el foro de ASP Clásico en Foros del Web. Hola amigos... les cuento un poco... yo estoy en un desafio personal de crear mi primer script solo... (con ayuda en ciertos casos de ustedes ...
  #1 (permalink)  
Antiguo 07/05/2005, 20:56
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
selección múltiple o tratarlas por separado? comentar el código y debatir sobre esto

Hola amigos... les cuento un poco... yo estoy en un desafio personal de crear mi primer script solo... (con ayuda en ciertos casos de ustedes lógico cuando tengo errores, pero digamos que todo el código es creado por mi y corregido por muchos de ustedes). Bueno la cosa es que en vista de que no pude deplegar los registros con una selección de dos tablas decidi tratar de solucionar el problema de otra forma.... bueno les dejo ambos códigos para que los comentemos...
Código con una selección multimple (con inner join)
Código:
<%
'Declarar Variables Dim Conn Dim sql Dim rs Dim categoria 'Rescate de valores por URL categoria = Request.Querystring("id") 'Se pone una condición if categoria = "" Then categoria = 1 end if 'Instanciar y abrir la conección Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb")) 'Creación de la sentencia SQL correspondiente sql="Select a.id_categoria, a.nombre_categoria, b.id_producto, b.categoria, b.imagen, b.nombre, b.precio From categorias a INNER JOIN productos b ON a.id_categoria = b.categoria Where b.categoria = " & categoria & "" 'Ejecución de la orden Set rs = Conn.Execute(sql) %> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="50%"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%">Categorías</td> </tr> <% Do While Not rs.Eof %> <tr> <td width="100%"><a href="verdetalle.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td> </tr> <% rs.MoveNext Loop %> </table> </td> <td width="50%"> <% Do While Not rs.Eof %> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>"></a></td> <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("nombre") %></a></td> <td width="34%"><% = rs("precio") %></td> </tr> </table> <% rs.MoveNext Loop %> </td> </tr> </table>
Este código misteriosametnte me tiraba un error que se soluciono al formatear mi PC (algo raro pero no muy importante).... pero el problema es que no me desplegaba las listas con los registros de las tablas de mi base de datos y no se porque.... pero bueno como estaba (y siego estando) muy entusiasmado con la idea de poder hacer mi primer script de ASP yo solo (un catálogo on-line tipo el de http://www.bymcomputer.cl/). La cosa es que empece a probar hasta que mágicamente aparecieron los registros desplegados en mi navegador.... el código que logró que esto funcionara fue:
Código:
<%
'Declarar Variables
Dim Conn
Dim categorias_sql
Dim productos_sql
Dim rs
Dim categoria
'Rescate de valores por URL
categoria = Request.Querystring("id")
'Se pone una condición
if categoria = "" Then
categoria = 1
end if
'Instanciar y abrir la conección
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
'Creación de la sentencia SQL correspondiente
categorias_sql="Select * From categorias"
'Creación del Recordset
set rs = CreateObject("ADODB.Recordset")
'Apertura del Recordset
rs.Open categorias_Sql, Conn
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="100%">Categorías</td>
	</tr>
<% 
Do While Not rs.Eof 
%>
	<tr>
<td width="100%"><a href="catalogo.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td>
	</tr>
<%
rs.MoveNext
Loop
rs.close
%>
</table>
</td>
<td width="80%">
<%
'Creación de la sentencia SQL correspondiente
productos_sql = "Select distinct * From productos Where categoria = " & categoria & ""
 
'Apertura dle Rescordset
rs.Open productos_sql, Conn
Do While Not rs.Eof 
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>" width="100" height="100"></a></td>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("nombre") %></a></td>
	 <td width="34%"><% = rs("precio") %></td>
	</tr>
</table>
<%
rs.MoveNext
Loop
set rs = nothing
Conn.close
set Conn=nothing
%>
</td>
</tr>
</table>
Bueno la diferencia entre estos dos códigos es que en uno trato de hacer con un solo select la selección de los campos de mis dos tablas, pero en el otro le dedique a cada uno un select "personalizado".... de tal forma que no tuviera que escribir linas como Inner Join o cosas asi.... bueno en el fondo a lo que va este mensaje es a discutir que es mejor.... una selección multiple con inner join (o sin el) o una selección y tratamiento de las tablas por separado.... que es mas rápido????.... bueno espero que me puedan ayudar.... de todos modos si encuentran el error (que yo no encontré) en el primer codigo.... porfavor diganmelo porque quisiera aprender a usar bien eso de las seleciones multiples porque veo que son muy útiles.... bueno maestros saludos a todos y muchas gracias por toda su ayuda
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!

Última edición por El_Metallick; 08/05/2005 a las 08:03
  #2 (permalink)  
Antiguo 09/05/2005, 21:26
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
inner join. una de las cosas que más puede saturar un servidor es conexiones recurrentes. si puedes pasarle una consulta cruzada, mucho mejor.
  #3 (permalink)  
Antiguo 10/05/2005, 11:36
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
pero trasgukabi en mi primer código tengo un inner join pero al momento de hacer el DO WILE no me muestra los registros de la base de datos de aquellas tablas.... no se porque.... podrias hecharle una miradita al código y avisarme si encuentras un error.... bueno gracias y saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #4 (permalink)  
Antiguo 10/05/2005, 18:21
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
prueba así. lo he hecho "al vuelo" así que podrá haber algún error y, probablemente, una mejor manera de hacerlo, pero la cama me llama insistentemente....
fíjate que hay que ordenar la consulta sql por id_categoria
  #5 (permalink)  
Antiguo 10/05/2005, 18:25
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Código:
<%

'Declarar Variables
Dim Conn
Dim sql
Dim rs
Dim categoria
 
'Rescate de valores por URL
categoria = Request.Querystring("id")
 
'Se pone una condición
if categoria = "" Then
categoria = 1
end if
 
'Instanciar y abrir la conección
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
 
'Creación de la sentencia SQL correspondiente
sql="Select a.id_categoria, a.nombre_categoria, b.id_producto, b.categoria, b.imagen, b.nombre, b.precio From categorias a INNER JOIN productos b ON a.id_categoria = b.categoria Where b.categoria = " & categoria & " order by a.id_categoria"
  #6 (permalink)  
Antiguo 10/05/2005, 18:29
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Código:
<%
'Ejecución de la orden
Set rs = Conn.Execute(sql)
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="100%">Categorías</td>
	</tr>
<% 
salida_cabecera=0
cabecera=""
Do While Not rs.Eof 
if salida_cabecera=1 and cabecera<>rs("id_categoria") then '¿el nombre de categoría ya ha salido y la categoría ha cambiado despues del movenext?
	salida_cabecera=0 
	cabecera=""
end if
  #7 (permalink)  
Antiguo 10/05/2005, 18:31
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Código:
if salida_cabecera=0 and cabecera<>rs("id_categoria") then' ¿es la primera vez que entra o ha cambiado la categoría?
	cabecera=rs("id_categoria")%>
		<tr>
	<td width="100%"><a href="verdetalle.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td>
		</tr>
	
	</table>
	</td>
	<%
	salida_cabecera=1
end if
%><td width="50%">
  #8 (permalink)  
Antiguo 10/05/2005, 18:32
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Código:
<table border="0" width="100%" cellspacing="0" cellpadding="0">
	<tr>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>"></a></td>
	 <td width="33%"><a herf="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("nombre") %></a></td>
	 <td width="34%"><% = rs("precio") %></td>
	</tr>
</table>
<%
rs.MoveNext
Loop
%>
</td>
</tr>
</table>
lo siento, era imposible ponerlo todo junto
  #9 (permalink)  
Antiguo 10/05/2005, 18:34
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
trasgu, ve a dormir!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 11/05/2005, 09:21
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
jajajaja.... muchas gracias amigo trasgukabi... hay un solo problema... como dejaste el del DO WILE... osea esto:
Código:
    <% 
    salida_cabecera=0
    cabecera=""
    Do While Not rs.Eof 
    if salida_cabecera=1 and cabecera<>rs("id_categoria") then '¿el nombre de categoría ya ha salido y la categoría ha cambiado despues del movenext?
        salida_cabecera=0 
        cabecera=""
    end if

    if salida_cabecera=0 and cabecera<>rs("id_categoria") then' ¿es la primera vez que entra o ha cambiado la categoría?
        cabecera=rs("id_categoria")
	%>
    <tr>
	 <td width="100%"><a href="verdetalle.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a></td>
    </tr>
   </table>
  </td>
  <%
        salida_cabecera=1
  end if
  %>
  <td width="80%">
   <table border="1" width="80%" cellspacing="0" cellpadding="2">
    <tr>
     <td width="9%">&nbsp;</td>
     <td width="25%">&nbsp;&nbsp;Marca</td>
     <td width="50%">&nbsp;&nbsp;Modelo</td>
	 <td width="16%" align="right">Precio</td>
    </tr>
   </table>
   <br>
   <table border="1" width="80%" cellspacing="0" cellpadding="2">
    <tr>
     <td width="9%" align="center"><a href="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>" width="50" height="50" border="0"></a></td>
     <td width="25%">&nbsp;&nbsp;<a href="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("marca") %></a></td>
     <td width="50%">&nbsp;&nbsp;<a href="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("modelo") %></a></td>
	 <td width="16%" align="right">$<% = rs("precio") %></td>
    </tr>
   </table>
   <br>
<%
rs.MoveNext
Loop
%>
lo que pasa es que muestra los productos hacia al lado y no hacia abajo, lo otro es que muestra solo la categoría en la que estoy.... osea no hace el DO WILE en la tabla de las categorias.... voy a tratar de solucionar el problema... te aviso cuando lo loko (siesque lo logro) y pongo el código
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #11 (permalink)  
Antiguo 11/05/2005, 09:54
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
la verdad de las cosas es que he modificado esto bastantes veces y no he logrado ningun resultado.... las categorias no hacen el DO WHILE... simplemente aparece la categoria en la que estoy.... y el otro problema tal y como lo dije antes es que los productos de esa categoria aparecen hacia el lado y no hacia abajo, y si trato de modificar el código o me tira error o no me funciona... bueno saludos y gracias de todos modos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #12 (permalink)  
Antiguo 11/05/2005, 09:59
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Para que vaya bien, sólo tienes que quitarle ésto:
Código:
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
más o menos sobre la linea 27 (la primera tabla que se abre)
  #13 (permalink)  
Antiguo 11/05/2005, 10:21
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
si totalmente deacuerdo de que asi queda bien pero la idea es que la lista de las categorias (que aun no aparece) este en una columna de mi tabla y los productos de esa categoria esten en la otra columna de esta pues... si asi tambien lo intente pero no es lo que hando buscando.... mira para que te hagas una idea de lo que quiero ejecuta este codigo en tu pc:

catalogo.asp
Código:
<% @ language="VBscript" %>
<% Option Explicit %>
<html>
<head>
<title>Catálogo on-line</title>
</head>
<body>
<%
'Declarar Variables
Dim Conn
Dim categorias_sql
Dim productos_sql
Dim rs
Dim categoria
 
'Rescate de valores por URL
categoria = Request.Querystring("id")
 
'Se pone una condición
if categoria = "" Then
categoria = 1
end if
 
'Instanciar y abrir la conección
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
 
'Creación de la sentencia SQL correspondiente
categorias_sql="Select * From categorias"
 
'Creación del Recordset
set rs = CreateObject("ADODB.Recordset")
 
'Apertura del Recordset
rs.Open categorias_Sql, Conn
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">Categorías</td>
</tr>
	<% 
	Do While Not rs.Eof 
	%>
<tr>
	 <td width="100%"><a href="catalogo.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a>(<% = rs("total_productos") %>)</td>
</tr>
	<%
	rs.MoveNext
	Loop
	rs.close
	%>
</table>
</td>
<td width="80%">
<table border="1" width="80%" cellspacing="0" cellpadding="2">
<tr>
<td width="9%">&nbsp;</td>
<td width="25%">&nbsp;&nbsp;Marca</td>
<td width="50%">&nbsp;&nbsp;Modelo</td>
	 <td width="16%" align="right">Precio</td>
</tr>
</table>
<br>
<%
'Creación de la sentencia SQL correspondiente
productos_sql = "Select * From productos Where categoria = " & categoria & ""
 
'Apertura dle Rescordset
rs.Open productos_sql, Conn
Do While Not rs.Eof 
%>
<table border="1" width="80%" cellspacing="0" cellpadding="2">
<tr>
<td width="9%" align="center"><a href="verdetalle.asp?id=<% = rs("id_producto") %>"><img src="<% = rs("imagen") %>" width="50" height="50" border="0"></a></td>
<td width="25%">&nbsp;&nbsp;<a href="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("marca") %></a></td>
<td width="50%">&nbsp;&nbsp;<a href="verdetalle.asp?id=<% = rs("id_producto") %>"><% = rs("modelo") %></a></td>
	 <td width="16%" align="right">$<% = rs("precio") %></td>
</tr>
</table>
<br>
<%
rs.MoveNext
Loop
set rs = nothing
Conn.close
set Conn=nothing
%>
</td>
</tr>
</table>
</body>
</html>
verdetalle.asp
Código:
<% @ language="VBscript" %>
<% Option Explicit %>
<html>
<head>
<title>Catálogo on-line</title>
<SCRIPT>
<!--
function displayWindow(url, width, height) 
{
var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=no,scrollbars=no,menubar=no,status=no' );
Win.resizeTo(width,height)
Win.focus();
}
//-->
</SCRIPT>
</head>
<body>
<%
'Declarar Variables
Dim Conn
Dim categorias_sql
Dim productos_sql
Dim rs
Dim id
 
'Rescate de valores por URL
id = Request.Querystring("id")
 
'Se pone una condición
if id = "" Then
id = 1
end if
 
'Instanciar y abrir la conección
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
 
'Creación de la sentencia SQL correspondiente
categorias_sql="Select * From categorias"
 
'Creación del Recordset
set rs = CreateObject("ADODB.Recordset")
 
'Apertura del Recordset
rs.Open categorias_Sql, Conn
%>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">Categorías</td>
</tr>
	<% 
	Do While Not rs.Eof 
	%>
<tr>
	 <td width="100%"><a href="catalogo.asp?id=<% = rs("id_categoria") %>"><% = rs("nombre_categoria") %></a>(<% = rs("total_productos") %>)</td>
</tr>
	<%
	rs.MoveNext
	Loop
	rs.close
	%>
</table>
</td>
<td width="80%">
<%
'Creación de la sentencia SQL correspondiente
productos_sql = "Select * From productos Where id_producto = " & id & ""
 
'Apertura dle Rescordset
rs.Open productos_sql, Conn
%>
<table border="0" width="80%" cellspacing="0" cellpadding="0">
<tr>
<td width="90%"><% = rs("marca") %>: <% = rs("modelo") %></td>
<td width="10%">$<% = rs("precio") %></td>
</tr>
<tr>
<td width="90%"><% = rs("descripcion") %></td>
	 <td width="10%"><a href="javascript:displayWindow('imagenes.asp?id=<% = rs("id_producto") %>',<% = rs("Ancho")+8 %>,<% = rs("Alto")+27 %>)"><img src="<% = rs("imagen") %>" alt="Pulsa para ampliar" width="50" height="50" border="0"></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
imagenes.asp
Código:
<html>
 
<head>
<title>Ver una imagen de la galeria</title>
</head>
 
<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>
<%
Const DB = "bd/metallica.mdb"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("catalogo.mdb"))
strSQL = "Select * from productos Where id_producto = " & Request.QueryString("id")
Set RS = Conn.Execute(strSQL)
 
Response.Write "<img src=""" & rs("imagen") & """ border=""0"" width=""" & rs("ancho") & """ height=""" & rs("alto") & """>"
 
 
Conn.Close
Set Conn = Nothing
%>
 
</body>
</html>
y la tabla tiene los siguientes campos:

tabla categorias
id_categoria (autonumerico)
nombre_categoria (texto)
total_productos (numerico)

tabla productos
id_producto (autonumerico)
categoria (numerico)
imagen (texto)
ancho (numerico)
alto (numerico)
marca (texto)
modelo (texto)
descripcion (texto)
precio (texto)

ahi tu le asignas los valores que quieras a eso

Bueno gacias por tu paciencia y ayuda amigo.... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #14 (permalink)  
Antiguo 11/05/2005, 10:43
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
ya entiendo (eso me pasa por no leerlo todo).
hazlo como lo tienes. es que sino, vas a tener que recorrer todo el recordset dos veces y realmente no sé qué es peor para el servidor.
  #15 (permalink)  
Antiguo 11/05/2005, 11:27
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
jajaaj ese era mi gran dilema.... jajajaj bueno gracis por tu tiempo y tu valiosa ayuda trasgukabi.... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
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 15:58.