¿Es posible paginar resultados en html?


([N2] gegeo) #1

Hola,
Estoy rompiendome la cabeza con el html, y tengo dudas si es posible paginar los resultados de una busqueda en html.

Si es posible ¿alguna documentacion o lugar para documentarme?
Todo lo que encuentro es en PHP.

Gracias, saludos ;)


([N4] ikonos) #2

Hola gegeo,

No acabo de entender exactamente donde necesitas ayuda,yo no estoy muy experimentado en vModApache pero, ve corrigiendome si me equivoco,
- Tienes un servidor Apache con vModApache y un vServer
- Sirves con vModApache las paginas y los datos que gestiona tu vServer
- Tras interactuar con la web el vServer devuelve el resultado de una busqueda que debes presentar en HTML
- el nº de resultados puede ser lo suficientemente elevado para necesitar un paginador de n-registros
-¿has montado una plantilla HTML con una tabla fija de n-registros?
-¿estas en el proceso que vuelque n-resultados a la tabla HTML?
-¿estas en la tesitura de como navegar por el paginador?
- ¿donde exactamente te encuentras? Dime algo.

P.D. No quisiera ser pesadito pero esto tiene pinta de vClase, es decir para hacerse una sola vez por que no es sencillo.


([N2] gegeo) #3

@ikonos

Me asustas :D

No acabo de entender exactamente donde necesitas ayuda,yo no estoy muy experimentado en vModApache pero, ve corrigiendome si me equivoco,
Correcto- Tienes un servidor Apache con vModApache y un vServer
Correcto- Sirves con vModApache las paginas y los datos que gestiona tu vServer
Correcto- Tras interactuar con la web el vServer devuelve el resultado de una busqueda que debes presentar en HTML
Correcto- el nº de resultados puede ser lo suficientemente elevado para necesitar un paginador de n-registros
Correcto-¿has montado una plantilla HTML con una tabla fija de n-registros?
Correcto-¿estas en el proceso que vuelque n-resultados a la tabla HTML?
Estoy atascado aqui
-¿estas en la tesitura de como navegar por el paginador?
- ¿donde exactamente te encuentras? Dime algo.

P.D. No quisiera ser pesadito pero esto tiene pinta de vClase, es decir para hacerse una sola vez por que no es sencillo

Estoy atascado en la forma de dividir dentro de un DIV los resultados y arrojar n-paginas cada una con su resultado.
Estoy repasando la navegacion de listas de vWeb de 6x. y un proceso que Pepeto publico en su dia enfocado a rejillas

Saludos ;)


([N4] ikonos) #4

Vale entendido! pero no te ausutes tanto por que justamnete a mi también me parece muy complicado ese punto. Dejame pensar en ello, por que todavia no he abordado en profundidad el tema, pero me interesa mucho, lo de Pepeto es un buen punto de inicio. Ya hablamos, mientras tanto estrujemos los dos la materia gris.

Un saludo.


([N1] Giuseppe::Komenco) #5

Tú no te fíes mucho de Ikonos, que realmente es una vClase heredada de un tal Miguen Ángel, y sólo ha heredado sus "métodos" oscuros :D


([N4] ikonos) #6

@ Mi amigo Giussepe,

Ya quisiera yo tener un ápice de la genialidad de "Miguel Angel", pero en lo de los métodos oscuros tienes algo de razon, "el lado oscuro de la fuerza me está atrayendo" la estrella de la muerte está a punto de ser acabada, y el emperador ya ha llegado.

Que la fuerza te acompañe :)


([N4] innovadb) #7

@Gegeo: Lo único que tienes que hacer es emular el comportamiento de php con procesos v7. Es decir, la web es html puro y duro, pero en los hipervinculos tienes que pasar los parámetros necesarios para que el proceso que se ejecuta en el servidor te devuelva los registros correctos. Nosotros hicimos pruebas con ajax, y es lo mismo, un proceso que se ejecuta en el servidor y devuelve unas lineas de código html, que refrescan una parte de la página.

@Ikonos: Si diseñas una vClase, supongo que será únicamente para una parte del paginador, ya que distintas búsquedas para distintas tablas y con distintos parámetros no creo que se puedan englobar en una sola vClase. No digo que no se pueda hacer, ya que ni siquiera lo probamos, pero ten en cuenta también el rendimiento de los procesos.

Por si os sirve de algo, en v7 podeis pasar los valores de las variables javascript a los procesos de velneo, no como en 6x.

Un saludo


([N4] ikonos) #8

Paginador en HTML


([N4] ikonos) #9

@innovadb

No se donde le ves la pega en cuanto al rendimiento de los procesos, a mi no me preocumaria mucho, porque cuando haces un paginador en HTML no es para presentar demasiados resultados, si no todo lo contrario, por lo tanto pienso que en este caso merece la pena invertir en procesos.

Por otra parte atendiendo a la teoria de como montar el paginador te daras cuenta que los procesos son muy simples y directos, sin anidamientos, ni recurrencias con lo que otra vez poco nos puede pesar el rendimiento.

Y si, por supuesto intentaria hacer un único paginador para todo, por dificil que resulte, aunque en este caso como de lo que se trata es de ayudar a gegeo en primera instancia damos la solución rápida "la de toda la vida".
Pero como hoy me voy de vacaciones por dos semanas, me daré un tiempo para fracasar o "no" en el intento :)


([N2] gegeo) #10

@ikonos

aunque en este caso como de lo que se trata es de ayudar a gegeo en primera instancia damos la solución rápida "la de toda la vida".

Gracias por la ayuda ;)

Estaba probando a cortar lista segun una serie de variables, pero no hay por donde pillar el fallo.

Lo probare y publicare el resultado.


([N4] innovadb) #11

@Ikonos: A lo que me refería es a que una vez que tienes que paginar búsquedas de clientes, contactos, pedidos, facturas, artículos etc... es donde pueden aparecer los problemas de rendimiento. Evidentemente para el caso que planteas en tu blog no hay problema. La pregunta es ¿es mejor un paginador para todo o un paginador para cada búsqueda?

Al final, fracases o no, todos aprenderemos algo.

Un saludo


([N4] ikonos) #12

@innovadb

Seguro que todos aprendemos algo de esto, pero piensa en una cosa, el paginador no debe contener los procesos a los que te refieres (busquedas de clientes, contactos, pedidos, etc...) eso si que seria sobrecargarlo. El paginador debe ser un "artefacto" al que le puedas "pasar de alguna manera" los resultados de esos procesos que ya forman parte de tu solución y en el core del paginador solo debemos implementar la "teoria" que he publicado en el blog.
Ya se que tu me diras, muy bonito ¿y como enlazas el paginador sin un origen de datos concreto para cada caso? y tienes razon eso a priori parece complicado y debe de serlo ¿o a lo mejor no? todavia no lo he intentado en profundidad, pero la clave está en crear una "pasarela" de información entre origenes de datos y el paginador, ¿Acaso no hace lo mismo el cgi que conecta vModApache con el vServer? ¿y le ves muchos problemas de rendimiento para un HTML?
En la mente tengo dos posibles diseños para crear la pasarela, uno con "Arrays" y otro con una "tabla aux en memoria". En principio me inclino por el primero por que seria el mas portable, pero todo en esta vida tiene limitaciones y quizas no las pueda superar.

Un saludo


([N2] gegeo) #13

Por extension, os dejo un link al proceso Paginar en HTML con Velneo (I)

Saludos ;)


([N4] ikonos) #14

Mi particular visión del paginador, pero por partes : )
Capitulo I


([N2] gegeo) #15

Por extension, añado más info al respecto Paginar en HTML con Velneo (II)
Saludos ;)


([N1] Rafael) #16

De esto ya puse un Post, y una IDEA. Pienso que la rejilla de Velneo debería de poder paginarse. Sé que, como siempre que digo eso, alguien sale con un proceso que pagina. Páginar no es complciado, lo hjodido es que la paginación se va al carajo en cuanto el cliente hace cilck en una cabecera y se ordena por ésta. ¿Tan difícil es ésto?


([N2] gegeo) #17

@rzaragoza

Este post no es para solucionar dicha necesidad, de hecho, no la soluciona.

Es para paginar listados/consultas en una web servida con Velneo via vModApache.
HTML puro y duro, servido via vModApache.

Tu necesidad es clara y obvia, pero no tiene nada que ver con esto.

Un saludo ;)


([N4] ikonos) #18

@rzaragoza,

Últimamente llevo algo de tiempo dedicado al paginador, intento analizar si deberia venir de serie en Velneo o debemos implementarlo, es mas incluso me planteo como cambiar Velneo para poder usar una vClase paginador, y de momento algunas conclusiones he sacado que ya publicaré. Pero haciendo pruebas de rendimiento te diré que particularmente he llegado algunas conclusiones previas,
1) "el paginador para una rejilla a priori no tiene sentido". Una rejilla es un paginador en si mismo, tarda lo mismo cargar una rejilla con 10.000 registros que paginar la lista de los 10.000 registros y cargar solo 25 registros en ella. Incluso on-line, la rejilla cargará los registros que vayas utilizando a medida que te muevas por el scroll. En consecuencia para las regillas tiene mas sentido hacer uso de sus caracteristicas de busqueda y ordenación para visualizar rejistros que utilizar la "TRANSMUTACION PAGINADOR" a la pobre rejilla.
2) El paginador en velneo empieza a tener sentido cuando en vez de una rejilla utilizas otro elemento contenedor de listas como por ejemplo un casillero. Cuya principal caracteristica es la presentación visual de los registros de manera que podemos ofrecer una experiencia de usuario completamente distinta a la de una rejilla. Obviamente movernos por 10.000 registros en un casillero no es muy útil y el paginador seria especialmente valioso en ese sentido. Como veras en este caso no tendras el problema de la ordenación de registros que te puede dar la rejilla.
3) Y por supuesto desde Velneo en HTML, es la mas obvia de las aplicaciones del paginador, donde su utilización no tiene discursión.

En consecuencia, y antes que nada vuelve a preguntarte ¿para qué quieres el paginador?


([N2] bannu) #19

Las rejillas deberían utilizar un sistema de carga progresivo transparente al usuario, esto en una aplicación Saas es fundamental, por otra parte cargar 10.000 registros de una tacada lo veo una barbaridad, para que quieres cargar semejante cantidad de registros, ¿qué tienes un chino revisando bases de datos?, para estos casos se tienen que utilizar búsquedas que devuelvan los registros con las características que el consultante requiera, y si es preciso paginar estos resultados, pero paginar 10000 registros pues no lo veo yo demasiado práctico.

NOTA: Que conste que proceso un gran respeto hacia el pueblo chino.


([N1] Pepeto) #20

@rzaragoza

Esto va por mi, no, :D

Sé que, como siempre que digo eso, alguien sale con un proceso que pagina.

No te preocupes, no me siento ofendido.
Pero si, me reitero en mi afirmacion, No veo necesario el paginador en la rejilla
Y en contra que lo que opinas, te dire, que aunque el usuario pulse en una columna para ordenar la rejilla, el paginador sigue funcionando correctamente, y lo hace porque para ello, he usado un indice adaptado a mis necesidades, y me da igual lo que haga el usuario en la rejilla, yo siempre uso el mismo indice para paginar.

@Sonovision y tambien a los demas

Me parece que algunos se estan equivocando de objeto,
1. Paginar la rejilla no tiene sentido
2. Para paginar la rejilla hay que cargar todos los registros, y una vez cargados, ¿que sentido tiene la paginacion?
3. Si de verdad queremos plantear una paginancion, debemos hacerlo en el origen, ¿en la busqueda?, ¿en los indices de la tabla?, pero no en la rejilla o en el casillero, o en un bloc de formularios. Esos objetos son para visualizar el resultado de una lista, y la lista ya debe haber sido paginada previamente.

A la pregunta ¿deberia venir de serie?, pues que quereis que diga, que si viene incluido, lo usare cuando sea necesario. Pero ...
... sigo analizando y probando el E.R.P. ye estoy realizando, y solo he necesitado el paginador para 2 tablas, (2 paginadores) y para colmo, son 2 tablas que tienen demasiados registros y que el usuario no maneja casi nunca (Poblaciones y Entidades bancarias)

Para el resto de tablas, se pueden hacer barbaridades con las busquedas, condicionando indices, limitando las fechas de consulta, o creando otras utilidades propias de cada caso.

Lo dicho, no veo un paginador en los objetos visuales,
Si hay que hacerlo, que se haga, pero creo que debe hacerse en busquedas o en indices, y luego, ya lo usaremos donde nos plazca.

un saludo
Jose Luis
http://www.ascsl.com
http://ascsl.net