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

Arto de paginar.

Estas en el tema de Arto de paginar. en el foro de ASP Clásico en Foros del Web. Hola, que cansado estoy de estos problemas. Web hecha en ASP, CSS3, HTML5 y MySql. Pagino de toda la vida recargando y pasando por url ...
  #1 (permalink)  
Antiguo 23/04/2014, 06:23
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 5 meses
Puntos: 6
Arto de paginar.

Hola, que cansado estoy de estos problemas.

Web hecha en ASP, CSS3, HTML5 y MySql.

Pagino de toda la vida recargando y pasando por url la página nueva solicitada, que ocurre, que al recargar tengo que pasar de nuevo variables de consulta, tener varias variables de paginación si tengo varias tablas etc.

Primero busqué paginar por ajax, una historia, me hace echarle horas para cambiar todas las paginaciones.

y encontré varias soluciones con Jquery, pero demasiado complejas y me cambiaba el CSS

yo simplemente necesito paginar sin tener que recargar.

Quiero a través de Jquery mostrar y ocultar la página concreta sin tener que recargar, pero respetándome la clase CSS que tengo para las tablas, ya que tengo un selector de estilos CSS.

¿Qué me recomendáis?
  #2 (permalink)  
Antiguo 30/04/2014, 09:37
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Arto de paginar.

Habia escrito una respuesta, pero por alguna razón no se grabo.
como sea, yo trabajo +- haciendo lo mismo que tu todos los días, buscando siempre como facilitarme las cosas.

yo ya no habro mas paginas, cargo las paginas asp en divs con el metodo load de jquery.
Supongo que en tu pag. tienes botones o links para moverte por las páginas. Yo pongo botones de navegacion, impresion, etc. y seguido un div que ocupa todo el resto de la pantala.
suponiendo que el div tiene un id="contenido" y que con un boton llamas a auna funcion paracargarlaspaginas, y que esta funcion recibe como parametro el numero de pagina (no se como paginas tu, con numero de hoja, cant. de regstros)

+- la funcion queda

function paracargarlaspaginas(pag){
$("contenido").load("paginas.asp?pag="+pag)
}

Aca el parametro es pag que se pasa por get. tambien puedes pasar parametros con session

te debo los acentos y la correccion ortografica, por falta de tiempo
  #3 (permalink)  
Antiguo 02/05/2014, 09:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: Arto de paginar.

OK, pero esto te obliga a tener todos los registros del lado del cliente no?
es decir, tienes div ocultos paginados y vas mostrando no?

Ya barajé esa posibilidad, pero claro con tablas de artículos con 50.000 registros he leído que es una burrada.

Yo lo que quiero evitar es cargar de nuevo la página, ya que si tengo la tabla de resultados paginada con una búsqueda por campos, me obliga a pasar por url de nuevo la consulta y hacerla de nuevo.

Además tengo páginas con varias tablas de paginación y cada vez que cargo tengo que volver a pasar por url la página en la que estaba cada tabla y el filtrado de cada una.

Por más que busco la única solución es Ajax, pero claro me obliga a sacar las tablas en otro fichero, cada una con sus peculiaridades.

Por ejemplo, la página/script de la ficha de artículo tiene al menos 5 tablas (características, artículos relacionados, compuestos) si quiero usar ajax ahora tendría que sacar esas tablas fuera, por lo tanto de un fichero paso a 5, vamos.... un lío.
  #4 (permalink)  
Antiguo 02/05/2014, 09:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 5 meses
Puntos: 6
Respuesta: Arto de paginar.

Código ASP:
Ver original
  1. <%
  2. 'Parámetros:
  3. 'Sentencia_Where: Sentencia SQL con la que generar el Recordset desde el Where al final
  4. 'Pagina_Solicitada: Página del recordset solicitada para mostrar
  5. 'Mostrar: número de registros por página
  6. 'Sentencia_Select: usada para usar * o distinct....
  7. '
  8. 'La función crea el Recordset solicitado y devuelve un array:
  9. ' Posición 0 : Páginas totales resultantes
  10. ' Posición 1 : Página en la que se posiciona, esta puede diferir de la
  11. '              solicitada, es decir, si se solicita la página 32 del recordset
  12. '              y sólo hay 28 páginas, el valor será 28.
  13. '              
  14. Function CrearRs_paginado_MySQL (Tabla, Sentencia_Where, Pagina_Solicitada, Mostrar, Sentencia_Select)
  15.    
  16.     Dim Devuelve(1)
  17.    
  18.     If Tabla="" Then Exit Function
  19.     If Sentencia_Select = "" Then Sentencia_Select="*"
  20.    
  21.     'Hay que crear un Rs para obtener el número de registros, en MySQL no
  22.     'funciona el Rs.RecordCount, pasamos el valor del campo a la variable y
  23.     'cerramos el Rs.
  24.    
  25.     CrearRs "SELECT Count(*) as Num_Registros FROM " & Tabla & " " & Sentencia_Where
  26.     Num_Registros = Cint(Rs("Num_Registros"))
  27.     CerrarRs
  28.  
  29.     if Mostrar = "" then
  30.         Mostrar = 35
  31.     Else
  32.         Mostrar = Cint(Mostrar)
  33.     End if
  34.  
  35.     ' Averiguamos la cantidad de páginas y redondeamos, si la división devuelve
  36.     ' 2.34874 páginas, es que tenemos 3 páginas a mostrar.
  37.     Cant_Paginas = Redondear_Arriba(Num_Registros/Mostrar, 0)
  38.            
  39.     ' IF para saber que página mostrar, si está en blanco solicitamos la
  40.     ' primera y si no averiguamos que no está fuera de los límites y la
  41.     ' cuadramos.
  42.     If Pagina_Solicitada = "" Then
  43.          Pagina_Solicitada = 1
  44.     Else
  45.          Pagina_Solicitada = CInt(Pagina_Solicitada)
  46.          If Pagina_Solicitada > Cant_Paginas Then Pagina_Solicitada = Cant_Paginas
  47.          If Pagina_Solicitada < 1 Then Pagina_Solicitada = 1
  48.  
  49.     End If
  50.  
  51.     ' Creamos el Rs
  52.     ' Recordamos: Limit X, N: Límite desde el resgistro X hasta los N siguientes
  53.    
  54.     CrearRs_paginado_MySQL_sql = "select " & Sentencia_Select & " from " & Tabla & " " & Sentencia_Where & " Limit " & ((Pagina_Solicitada-1) * Mostrar) & ", " & Mostrar
  55.    
  56.     CrearRs CrearRs_paginado_MySQL_sql
  57.    
  58.          
  59.     If Rs.EOF Then
  60.        
  61.         'Cantidad de páginas
  62.         Devuelve(0) = 0
  63.        
  64.         'Página Solicitada
  65.         Devuelve(1) = 0
  66.         CrearRs_paginado_MySQL = Devuelve
  67.        
  68.     Else
  69.    
  70.         Devuelve(0) = Cant_Paginas
  71.         Devuelve(1) = Pagina_Solicitada
  72.         CrearRs_paginado_MySQL = Devuelve
  73.        
  74.     End If 
  75.  
  76.  
  77. End Function  
  78.  
  79. %>

Esta es la función que uso para crear los RecordSet, depende de otras como CrearRs que tan sólo crea el recordset. Estoy deseando de perderla de vista.
Una vez que tengo el recordset creo la tabla, casi todas iguales al 90%, pero por culpa de ese 10% no puedo estandarizarlas.

Etiquetas: asp, sql
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 20:40.