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

reenviar variables en paginacion, se me pierde el texto!!!!

Estas en el tema de reenviar variables en paginacion, se me pierde el texto!!!! en el foro de ASP Clásico en Foros del Web. Ufff, que agobiooooo, vereis que os cuente: un formulario de consultas de una inmobiliaria, recibo el formulario y empiezo a paginar los resultados, en los ...
  #1 (permalink)  
Antiguo 15/06/2005, 03:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
reenviar variables en paginacion, se me pierde el texto!!!!

Ufff, que agobiooooo, vereis que os cuente:
un formulario de consultas de una inmobiliaria, recibo el formulario y empiezo a paginar los resultados, en los enlaces de siguiente y anterior les vuelvo a mandar las variables del formulario porque sino, se pierden y me dice que ya no hay mas resultados, pero al volver a enviarlas el texto solo me envia la primera palabra de la cadena de busqueda, me he explicado?
Sera una tonteria, porque por mas que he buscado no he visto que a nadie le pase, pero como siempre, a mi SI
Espero que me podais echar una mano
Gracias
  #2 (permalink)  
Antiguo 15/06/2005, 05:35
 
Fecha de Ingreso: junio-2005
Mensajes: 149
Antigüedad: 19 años, 10 meses
Puntos: 0
Sonia pon codigo porque sino es bastante dificil saber cual es el error ;)
  #3 (permalink)  
Antiguo 15/06/2005, 09:17
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
ok, tienes razon
este es el request del formulario:
tipo_1 = request.form("tipo")
hab = request.form("hab")
preciomin = request.form("preciomin")
preciomax = request.form("preciomax")
localidad = request.form("localidad")
Vale, la primera vez que entro en esta pagina me muestra bien los datos 4 registros por pagina
pero al final de la pagina en los botones de siguiente y anterior pongo esto:
if PaginaActual > 1 then
Response.Write ("<A HREF=buscarinm2.asp?pagina="& PaginaActual-1 & "&tipo=" & tipo_1 & "&hab=" & hab & "&preciomax=" &preciomax & "&preciomin=" & preciomin & "&localidad=" & localidad & ">Anterior</A>")
end if

Y lo mismo para siguiente.

en la consulta he puesto esto:
SQL="select * from particulares where (tipo like '" & tipo_1 & "') and (hab = " & hab &") and (precio <= " & preciomax & " )and (precio >= " & preciomin &") and (localidad like '" & localidad & "')"

y la primera vez la hace bien, pero en la segunda si en el campo localidad habia puesto Torre del Mar, solo envia Torre, con lo cual, me dice que no hay registros

Igual es una tonteria de alguna funcion de caracteres, pero es que no se cual es.....
Lo sabeis?
  #4 (permalink)  
Antiguo 15/06/2005, 09:25
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
Es algo muy básico......

Llenas las variables con parámetros pasados por POST:
preciomin = request.form("preciomin")

y los mandas por GET

Response.Write ("<A HREF=buscarinm2.asp?pagina="& PaginaActual-1 & "&tipo=" & tipo_1 & "&hab=" & hab & "&preciomax=" &preciomax & "&preciomin=" & preciomin & "&localidad=" & localidad & ">Anterior</A>")

Ese es el problema


Saludos
  #5 (permalink)  
Antiguo 15/06/2005, 09:31
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
no, pero ahora es que lo he copiado y pegado, pero ya lo probé poniendo condiciones es decir, con un campo hidden enviado desde el primer formulario y si era 1 lo hacia con request.form y si no tenia ningun valor lo hacia por request.querystring y nada, me toma los valores del precio y de lo demas bien, pero el campo texto me lo corta
  #6 (permalink)  
Antiguo 15/06/2005, 09:37
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
En lugar de poner condiciones, deberias homologar, es decir, a mandas todo por POST o todo por GET, o si de plano no es posible, recíbelos de forma indistinta, es decir con Request("NomParametro").

Por lo que se te trunca, seguramente en el campo text, lo tienes sin comillas.

<input type=text value=<%=parametro%>>

y debería ser:

<input type=text value="<%=parametro%>">

Saludos
  #7 (permalink)  
Antiguo 15/06/2005, 09:55
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
es muy raro esto no?
veras, yo tengo una pagina html con un formulario
los datos de localidad se cogen de una base de datos
SQL="SELECT * FROM Localidades"
tabla.Open SQL, oConn
cuenta=1
while not tabla.EOF
%><OPTION VALUE="<%=tabla.Fields("localidad")%>"
<% if cuenta=1 then%>
SELECTED
<%end if%>>
<%=tabla.Fields("Localidad")%></OPTION>
<%
tabla.MoveNext
cuenta=cuenta+1
wend
tabla.Close
%>
</SELECT>
(antes he abierto el select y he hecho la conexion)
vale? y llamo en el formulario a buscarinm2.asp
ahi los recojo con request.form si el campo hidden esta a 1 y con request.querystring si no tiene valor, ok? y hago la consulta y me muestra 4 datos y es esntonces cuando (estoy paginando el resultado) tengo que llamar a la pagina siguiente, pero para eso necesito mandar las variables con sus datos y....me toma bien los numericos pero el texto no, me lo corta en cuanto ve un espacio en blanco (ejemplo "torre del mar" solo me toma el valor "torre") no sera alguna funcion?


ufff llevo dias con esto y al final lo voy a tener que poner sin paginar, pero es que otra vez me volverá a ocurrir y quiero saber que es....


gracias por tu atencion
  #8 (permalink)  
Antiguo 15/06/2005, 10:16
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, no tiene nada de raro es frecuente ese "error" y no, no ok, no esta bien como lo haz implementado (con tu hidden) pero si a si te funciona, bueno.

Supongo (por que nunca lo indicas precisamente) que el problema es con el combo (select) del cual colocas el código. Aparentemente si colocas el valor entre comillas, así que lo que se hace en esos casos, el ver el código HTML resultante de la ejecución del ASP (botón derecho, ver código).

Coloca el fragmento del código resultante del objeto que no conserva el valor completo, supongo que del select (no olvides colocalo entre equiquetas [ CODE ] Y [ /CODE ] (sin espacios) si son muchas lineas.
  #9 (permalink)  
Antiguo 16/06/2005, 10:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
Bueno, vuelvo a mi problema:
buscarinm.html en esta pagina tengo un formulario que envio con GET a buscarinm2.asp

en buscarinm2.asp recojo datos:
Código:
tipo_1 = request.Querystring("tipo")
hab = request.Querystring("hab")
preciomin = request.Querystring("preciomin")
preciomax = request.Querystring("preciomax")
localidad = request.Querystring("localidad")
hago una consulta:
Código:
SQL="select * from particulares where (tipo like '" & tipo_1 & "') and (hab = " & hab &") and (precio <= " & preciomax & " )and (precio >= " & preciomin   &") and (localidad like '" & localidad & "')"
y empiezo a paginar, muestor cuatro resultados y al final de la pagina pongo los botones de anterior y siguiente:
Código:
if PaginaActual > 1 then 
Response.Write ("<A HREF=buscarinm2.asp?pagina="& PaginaActual-1 & "&tipo=" & tipo_1 & "&hab=" & hab & "&preciomax=" & preciomax & "&preciomin=" & preciomin & "&localidad=" & localidad & "><center><img src='imagenes/flecha_sant.gif' width='37' height='25' border='0' alt='Pagina anterior'><br>Anterior</center></A>&nbsp;&nbsp;&nbsp;") 
end if 
if PaginaActual < PaginasTotales then 	
Response.Write ("<A HREF=buscarinm2.asp?pagina="& PaginaActual+1 & "&tipo=" & tipo_1 & "&hab=" & hab& "&preciomax=" & preciomax & "&preciomin=" & preciomin & "&localidad=" & localidad & "><center><img src='imagenes/flecha_sig.gif' width='37' height='25' border='0' alt='Pagina Siguiente'><br>Siguiente</center></A>") 
end if
Hasta aqui todo bien, pero pulso en siguiente y al cargar de nuevo la pagina me dice que no hay resultados y si los hay ¿Problema? El campo localidad que es de tipo texto, me lo ha cortado es de cir solo sale la primera palabra: ejemplo localidad = Torre del Mar y ahora localidad = Torre

Alguien sabe que esta pasando?
  #10 (permalink)  
Antiguo 16/06/2005, 10:58
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Hola

Donde usas:

"&localidad=" & localidad & ">

Debes pasarlo codigicado para HTML, lo que pasa es que tienes espacios en blanco en ese texto, entonces por eso te lo corta cuando lo recibes, para esto utiliza:

Server.HTMLEncode

Quedaría como:

"&localidad=" & Server.HTMLEncode(localidad) & ">

Pruebalo, bueno, eso es parte del problema, no mire si hay más problemas.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #11 (permalink)  
Antiguo 16/06/2005, 11:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
Gracias pero no me funciona, no se que ... puede ser
  #12 (permalink)  
Antiguo 16/06/2005, 11:17
 
Fecha de Ingreso: agosto-2004
Mensajes: 9
Antigüedad: 20 años, 7 meses
Puntos: 0
EHHH GRACIAS!!!
es con Server.URLEncode(localidad) gracias, he buscado y vi esto en un manual y ME FUNCIONA!!!!!!
Uff no sabes como te agradezco la pista que me has dado, de verdad, ufff

Chao y de nuevo gracias!!!
  #13 (permalink)  
Antiguo 16/06/2005, 11:32
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Que bueno!!

Tienes razón, URL se usa en ese caso, HTML es un poco diferente, pero crei que te funcionaría bien... Qu bueno que se resolvió.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
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 08:13.