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

Consulta en asp...

Estas en el tema de Consulta en asp... en el foro de ASP Clásico en Foros del Web. Hola foreros... Os cuento un poco mi problema... Tengo una base de datos en access en la que tengo una tabla llamada bicicletas, uno de ...
  #1 (permalink)  
Antiguo 17/05/2004, 03:32
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Consulta en asp...

Hola foreros...

Os cuento un poco mi problema...

Tengo una base de datos en access en la que tengo una tabla llamada bicicletas, uno de los campos que tiene dicha tabla es bike_cat, que es el clasifica las bicicletas, es decir, si es mountain bike, si es infantil, si es bmx, etc...

Luego tengo una página que se llama index.asp en la que muestro todas las bicicletas, hasta aqui todo perfecto y ningún problema.

La cosa se me complica, cuando quiero que solo me salgan las bicicletas de una sola categoria, es decir, solo ver las bicicletas de Mountauin bike, no sé como hacerlo...

Alguien me podría mostrar un poco el camino a seguir??

Muchisimas gracias!

DaNi
  #2 (permalink)  
Antiguo 17/05/2004, 05:52
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
PUes si las que son mountan bike las referencias como 'M_BIKE' en tu DB, en el campo bike_cat, usa esta SQL:
strSQL = "SELECT * FROM BICICLETAS WHERE BIKE_CAT='M_BIKE'"
set mr = mi_conexion.execute(strSQL)
__________________
Tu portal de manga y anime.
  #3 (permalink)  
Antiguo 17/05/2004, 06:19
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias por responder... pero no me funciona... seguramente porque la base de datos es access... no sé, no soy muy entendido en esto...

Alguna otra posible solución¿?

DaNi
  #4 (permalink)  
Antiguo 17/05/2004, 06:24
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
La llamada de todas las bicicletas la hago de la siguiente manera:

Set RS = Server.CreateObject( "ADODB.Recordset" )
strSQLQuery = "SELECT * FROM bikes order by bikeID desc"
  #5 (permalink)  
Antiguo 17/05/2004, 06:28
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Bien, lo que yo te había pasado sirver para una base en access o la que sea, pero para los datos que tu me diste.
Ahora, en esa SQL, me dices que tu tabla se llama 'bikes', así que la consulta sería:
strSQLQuery = "SELECT * FROM bikes WHERE bike_cat='MB' ORDER BY bikeID DESC"
Set RS = my_conn.execute(strSQLQuery)

Donde pone MB, tienes que poner el nombre con que llamas a las Mountan Bike en tu tabla (si pones mb, o mountan bike, o como sea), y donde pone my_conn, pues pones la conexión que usas para la base de datos (miconexion, lo que sea).

Espero que esto te sirva.
__________________
Tu portal de manga y anime.
  #6 (permalink)  
Antiguo 17/05/2004, 06:33
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Seguro que lo que me has dicho sirve, pero mi torpeza es infinita ... puedo pasarte el codigo y le hechas un vistazo a ver que hago mal¿? Quizas este abusando mucho de ti...
  #7 (permalink)  
Antiguo 17/05/2004, 06:41
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Veamos, pasame el código. Pero NO toda la web, simplemente, 5 lineas por encima y otras 5 por debajo de esa SQL, o lo que tu veas que puede ser interesante, la parte del HTML y demás no, que si no nos entendemos nunca.

Pega aquí tu código e intentaré solucionar el problemilla :)
__________________
Tu portal de manga y anime.
  #8 (permalink)  
Antiguo 17/05/2004, 06:48
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
ahi va!

Y muchisimas gracias!
--------------------------------------------------

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../connections/bikes_connection.asp" -->
<%
Response.Buffer = True
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Monty Bicycles. Photo Album.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


</head>

<body bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" topmargin="0">

<%picno=0%>

<table width="495" border="0" cellspacing="0" cellpadding="0">
<%
'Get the Current page
Page = Request.QueryString("Page")
'If there is no page set it to page 1
If Page = "" then Page = 1
RowCount = 0
Set RS = Server.CreateObject( "ADODB.Recordset" )
strSQLQuery = "SELECT * FROM bikes order by bikeID asc"
'Need a rich cursor type to support paging
rs.CursorType = 3 'adOpenStatic
'Set the number of records in each page to 10
rs.PageSize = 12
rs.Open strSQLQuery, con
'Set the current page based on the QueryString value
'Must cast it as an integer or else it will have problems.
rs.AbsolutePage = cInt(Page)
If Response.IsClientConnected = true then
Do while not rs.eof and RowCount < rs.PageSize
%>

<tr>
<td valign="middle" align="left" width="100" rowspan="2"><a href="show_bike.asp?bike_id=<%=rs("bikeID")%>"> <img src="images/thumb/<%=rs("img_sm")%>" border="0"></a></td></tr>
<% rs.Movenext
RowCount = RowCount + 1
Loop %>

</table>
<p><span class="maintext">Page: </span>
<% For PageCounter = 1 to rs.PageCount %>
<a href="index.asp?Page=<%=pageCounter%>" class="maintext"><%=pageCounter%></a>
<% Next
end if
%>

</body>
</html>
<%con.close%>

---------------------------------------

A ver si ves alguna anomalia...
  #9 (permalink)  
Antiguo 17/05/2004, 07:02
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Pues no, anomalia no. Según tu codigo, tendría que quedar asi:
Código:

Set RS = Server.CreateObject( "ADODB.Recordset" )
strSQLQuery = "SELECT * FROM bikes WHERE bike_cat='MB' ORDER by bikeID asc" 
'Need a rich cursor type to support paging
rs.CursorType = 3 'adOpenStatic
'Set the number of records in each page to 10
rs.PageSize = 12
rs.Open strSQLQuery, con
'Set the current page based on the QueryString value
 
Eso tendría que quedar así. Si no te funciona, entonces, me tienes que deci dos cosas:
1º) Que error te arroja
2º) Como demonios metes en la tabla bike_cat las que son mountan bike.

A ver si así ya va ... xDD
__________________
Tu portal de manga y anime.
  #10 (permalink)  
Antiguo 17/05/2004, 07:10
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Perfecto meru-kun!!!!! Funciona a las mil maravillas!

Muchisimas gracias!

Ahora el más dificil todavia! Mi intencion es que con una simple página index.asp, muestre todos los tipos de bicicleta, es decir, por ejemplo poniendo index.asp?wherebike_cat=mb bueno... eso me lo he inventado yo! :D

Hay alguna manera de hacerlo?
  #11 (permalink)  
Antiguo 17/05/2004, 07:15
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Pues facil.
Pones una tabla o lo que sea con todos los tipos que tengas, que linkeen de esta forma:
index.asp?bici=mb/bmx/etc

Y luego, en la pagina pones esto:
txtCat = Request.QueryString("bici")
Y en la sentencia SQL, la cambias por esto otro:
strSQLQuery = "SELECT * FROM bikes WHERE bike_cat='"&txtCat&"' ORDER by bikeID asc"

Y eso es, simplemente.
__________________
Tu portal de manga y anime.
  #12 (permalink)  
Antiguo 17/05/2004, 07:21
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Sencillamente genial!

Gracias Meru-kun!!! Vamos a por nota?

En la misma página index.asp que tb se puedan ver todas las bicicletas! como se pondria?¿

Es la última... lo prometo!
  #13 (permalink)  
Antiguo 17/05/2004, 07:27
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
¿Todas las de tu DB?
Pues sin ninguna condición WHERE, simplemente:
strSQLQuery = "SELECT * FROM bikes ORDER by bikeID asc"

Creo que es eso lo que quieres :D

P.D: Ahora me debes unas cervezas ;) (es coña). Espero haberte sido de ayuda. Si necesitas algo más, pregunta por aqui, que si no yo, otros te ayudarán :P
__________________
Tu portal de manga y anime.
  #14 (permalink)  
Antiguo 17/05/2004, 07:32
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Casi es lo que necesito... pero unas cervezas no se ganan asi como asi... yo quiero mostrar todos los datos con la misma página donde selecciono un tipo es decir index.asp?bici=mb pues que link tendria que poner?
  #15 (permalink)  
Antiguo 17/05/2004, 07:50
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Aaaaaaah, ahora entiendo.
Pues en ese caso, haz esto:
txtCat = Request.QueryString("bici")
Select case txtCat
Case "all"
strSQLQuery = "SELECT * FROM bikes ORDER by bikeID asc"
Case else
strSQLQuery = "SELECT * FROM bikes WHERE bike_cat='"&txtCat&"' ORDER by bikeID asc"
End Select

Y esto lo pones donde esta tu sentencia sql de ahora, y ya está, solucionado. Para ver todas, simplemente, opn index.asp?bici=all

^_^
__________________
Tu portal de manga y anime.
  #16 (permalink)  
Antiguo 17/05/2004, 07:59
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
vaya... no funciona!


Me sale este error:

Tipo de error:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'rs'
/bikes/ejemplo.asp, línea 35

Lo que he puesto yo es:

<%
'Get the Current page
Page = Request.QueryString("Page")
'If there is no page set it to page 1
If Page = "" then Page = 1
RowCount = 0
txtCat = Request.QueryString("bici")
Select case txtCat
Case "all"
strSQLQuery = "SELECT * FROM bikes ORDER by bikeID asc"
Case else
strSQLQuery = "SELECT * FROM bikes WHERE bike_cat='"&txtCat&"' ORDER by bikeID asc"
End Select

'Need a rich cursor type to support paging
rs.CursorType = 3 'adOpenStatic
'Set the number of records in each page to 10
rs.PageSize = 12
rs.Open strSQLQuery, con
'Set the current page based on the QueryString value
'Must cast it as an integer or else it will have problems.
rs.AbsolutePage = cInt(Page)
If Response.IsClientConnected = true then
Do while not rs.eof and RowCount < rs.PageSize
%>
  #17 (permalink)  
Antiguo 17/05/2004, 08:05
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Justo debajo del End Select, pon esto:
Set RS = Server.CreateObject( "ADODB.Recordset" )

(se te había olvidad xD).
__________________
Tu portal de manga y anime.
  #18 (permalink)  
Antiguo 17/05/2004, 08:16
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
perfectisimo!!!!! Pero como no... tengo un problema!

Antes para que pasara de página a página tenia lo siguiente:

<a href="index.asp?Page=<%=pageCounter%>" class="maintext"><%=pageCounter%></a>

He probado poniendole esto:

<a href="index.asp?<%=request.servervariables("QUERY_ STRING")&"Page="&pageCounter%>" class="maintext"><%=pageCounter%></a>

Pero evidentemente no me funciona... que hago mal???
  #19 (permalink)  
Antiguo 17/05/2004, 08:43
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
No te compliques y hazlo así:
<a href="index.asp?bici="&txtCat&"Page="&pageCounter& """ class="maintext"><%=pageCounter%></a>
__________________
Tu portal de manga y anime.
  #20 (permalink)  
Antiguo 17/05/2004, 08:58
 
Fecha de Ingreso: enero-2003
Ubicación: Barcelona
Mensajes: 124
Antigüedad: 21 años, 4 meses
Puntos: 0
Por una vez te voy a rectificar a ti... tal como me lo has puesto, no funcionaba, me salia un link a index.asp?bici= y nada más, pero poniendolo de la siguiente forma:

<a href="index.asp?bici=<%=txtCat%>&Page=<%=pageCount er%>" class="maintext"><%=pageCounter%></a>

Funciona a las mil maravillas... parece que el aprendiz se revela!

Es broma, si no llega a ser por ti!!!!!

Muchisimas gracias, creo que ya he conseguido lo que buscaba!

DaNi
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 01:52.