Comunidad de diseño web y desarrollo en internet online

Sugerencia: Paginar en Flash o PHP ???

Citar            
MensajeEscrito el 30 May 2007 09:57 am
Hola amigos de Cristalab.
Ando medio perdido con el tema de paginar. Les comento:

Tengo una web (integra en flash - php - mysql) con una seccion de noticias. La informacion de dicha seccion la obtengo de mi base de datos a traves de un php que genera dinamicamente un xml. Hasta aca todo perfecto.
El problema es que de pronto las noticias son demasiadas (y tienen que estar todas) y quisiera paginar la informacion. Lo que no se es si mejor traer todos los datos de la base de datos y que flash se encargue de paginar o que el php me genere el xml con la cantidad de noticias que quiero que tenga cada pagina.

Desde ya cualquier sugerencia, ayuda, etc sera muy bien recibida.
Muchas Gracias.

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 31 May 2007 04:16 am
mm... me imagino que en la estructura de tus tablas tienes algun autonumerico para cada una de las noticias?
Ntonces por que no metes en la consulta sql, en la clausula where el valor de alguna variable que lleve el control del numero de noticias, ej: "select * where codigo_autonumerico > 1 AND codigo_autonumerico < 10"
claro en lugar de esos valores metes variables,
(espero entiendas)

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 31 May 2007 05:14 am
eh eveevans aunque la idea es hacer la paginacion desde php es la ideal y la que se debe hacer, asi no es que se hace una consulta para una cantidad de registros para lograr la paginación; en verdad se usa es LIMIT

Por cierto debes investigar tambien sobre SQL_CALC_FOUND_ROWS y FOUND_ROWS ambas funciones de mysql

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 31 May 2007 06:59 pm
oki Maikel, thks
(era una idea, nunK he tenido que hacer algo similar)

Por eveevans

Claber

450 de clabLevel

3 tutoriales

 

Nicaragua

firefox
Citar            
MensajeEscrito el 03 Jun 2007 02:04 am
Gracias por sus respuestas. voy a investigar lo que me aconsejaron
:D :D

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Jun 2007 01:54 pm
Es preferible paginar desde flash o cualquier Script que se maneje desde el Cliente ejemplo javaScript planito o meor aun AJAX por que lo que se quiere es quitarle carga de trabajo a la Base de Datos y que el solo se encargue de hacer el Query una sola vez y no como aparacen en los tradicionales ejemplo de PHP http://www.desarrolloweb.com/articulos/1248.php para paginar donde se hace todo desde la Aplicación. La explicacion es sencilla cada vez que se ejecuta el PHP le hace una peticion a la BD asi sea de un segmento eso le da mas carga de trabajo...De pronto te publico un tutorial de eso :D

Por vanvanero

246 de clabLevel


2 articulos

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Jun 2007 07:35 pm
Eh no, visión erronea. Se debe paginar desde el servidor, nunca debes extraer más datos de los requeridos por el cliente.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 13 Jun 2007 09:55 pm
La explicacion es sencilla cada vez que se ejecuta el PHP le hace una peticion a la BD asi sea de un segmento eso le da mas carga de trabajo

vanvanero lo que dices carece de toda lógica!!!, si tengo 10000 registros no los voya cargar todos de golpe!!!

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 14 Jun 2007 05:35 am
un detalle muy bueno que he visto haciendo un paginador en flash.... es hacer la peticion de 4 paginas y en flash mostrar la 1ra, al presionar el boton siguiente que cargue la 2da, así hasta que carga la 4ta.... cuando quiera pasar a la 5ta vuelve a pedir al servidor ( con ayuda del PHP o lo q uses ), las siguiente 4 paginas y así...

esto hace que el usuario no sienta tanto el retardo de las cargas al dar clic en siguiente siguiente...

Supongo que no cargaras en el paginado grandes cantidades de texto, no? sino ahí si que el usuario se nos va a aburrir y se ira. Solo carga lo que creo necesario

Por Otaku RzO

BOFH

1890 de clabLevel

12 tutoriales
1 articulo

Genero:Masculino   Desarrollador de GAIA Bastard Operators From Hell

Lima - Perú

firefox
Citar            
MensajeEscrito el 14 Jun 2007 06:58 am

vanvanero escribió:

Es preferible paginar desde flash o cualquier Script que se maneje desde el Cliente ejemplo javaScript planito o meor aun AJAX por que lo que se quiere es quitarle carga de trabajo a la Base de Datos y que el solo se encargue de hacer el Query una sola vez y no como aparacen en los tradicionales ejemplo de PHP http://www.desarrolloweb.com/articulos/1248.php para paginar donde se hace todo desde la Aplicación. La explicacion es sencilla cada vez que se ejecuta el PHP le hace una peticion a la BD asi sea de un segmento eso le da mas carga de trabajo...De pronto te publico un tutorial de eso :D
Ajá...

Entonces, ejemplo hipotetico. Tengo una DB de visitas a Cristalab. Esa DB tiene dos millones de registros al día. ¿Cargo los dos millones de registros al cliente y dejo que AJAX o Flash se encarguen de paginarlos?

Claro, a ver, digamos que cada registro tiene, no mucho, 500 bytes.

¡Oye, si son solo 953MB de datos por día!

Claro, cargar eso de una no sólo al PC del usuario sino también a la memoria RAM es la mejor idea que te puedas imaginar. ¿Para qué paginar del lado del servidor? puff, eso es para nenas.

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

firefox
Citar            
MensajeEscrito el 14 Jun 2007 07:02 am
juassssssssssssssssssssssssssssssss

jajaja, ay dios, en fin, me vuelvo a mi foro de charla, ahi no se leen este tipo de cosas U_U

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

firefox
Citar            
MensajeEscrito el 14 Jun 2007 07:12 am

vanvanero escribió:

De pronto te publico un tutorial de eso :D


juas juas juas XD XD XD.. ay no no, vuelvo a mi trinchera mejor... click a charla :lol: :lol: :lol:

*se aleja con dolor de estomago de la risa

Por eldervaz

BOFH

10964 de clabLevel

39 tutoriales
56 articulos

Genero:Masculino  

en algún lugar del mundo

firefox
Citar            
MensajeEscrito el 28 Jun 2007 06:58 pm
Si tienes razón Perú es toda una trinchera :D

Por vanvanero

246 de clabLevel


2 articulos

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Jun 2007 07:14 pm
...Bueno volviendo a lo mismo, no es tan alocado como les parece en el foro si normalmente se hace una consulta de $sql="SELECT * FROM $miTabla WHERE $condicion y se realizan los pasos típicos para tomar el LIMIT de la consulta para paginar(Lo hablo general por que no me quiero extender para eso están los ejemplos de paginación en PHP) y se toma el Numero de la pagina el inicio y el tamaño de la pagina, eso normalmente se hace en una segunda consulta desde PHP $sql="SELECT * FROM $miTabla WHERE $condicion." ORDER BY ".$orden.",$id ASC LIMIT ".$limitInf.",".$tamPag; es ahí donde precisamente digo que se debe preocupar ya el código del lado del cliente por lo que no tendría la base de datos mayor concurrencia que si se le hace las dos consultas, la cantidad de veces que el cliente este solicitando una paginación.



¡Aché pa' ti como aché pa'mi!

Por vanvanero

246 de clabLevel


2 articulos

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Jun 2007 09:09 pm
Yo no hago una segunda consulta, eso denota tu desconocimiento de sql, en MySQL al menos.

Lee mi primer comentario de este topic y busca eso en la documentacion de MySQL.

Saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 01 Jul 2007 03:59 pm
Pues si de hacerlo en una única consulta también se podría manejar Stored Procedures. Al punto que quiero llegar es que me gusta pensar en una Arquitectura que deja esas operaciones en el Front-End y en el Back-End de la aplicación se preocupe por controlar otros procesos que sean mas grandes y únicos, lo que en el MVC(Model, View, Controller) podría pensarse que entre la capa de aplicación y la lógica se preocupen por la objetividad de la información y en la vista la manipulación de la presentación de los datos, en este caso la paginación. Además como norma de seguridad se plantea
tratar de no manipular el SQL de manera directa a menos que sea necesario, sin importar el motor de base de datos que estén manejando, se trata de pensar en la globalidad no en el truco de la base de datos llamese MySQL, Oracle...

¡Aché pa'ti como aché pa'mi!

Por vanvanero

246 de clabLevel


2 articulos

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2007 05:14 am
En web, definitivamente no es viable, ni correcto. Creo que aqui la temática se esta centrando en web. Así que comentaré que yo no recomendaría que pagines en el lado del cliente. Te considero muy válido paginar en PHP, guardas en sesión un recordset y lo paginas. Pero eso sería paginar en el lado del servidor(no el cliente), es lo mas cercano que puedes hacer, para no saturar la base de datos. También puedes usar cache_queries.

Pero para nada será justificable una paginación en el lado del cliente, sencillamente por el tráfico de datos que esto implica. Imagina una tabla de 100000 rows, y que generalmente la gente ve solo las 200, primeras, si tu paginas en el lado del cliente, cada que accesen a tu aplicación trasnferiran por internet 100000 rows, si tu sitio es realmente concurrido, no habrá ancho de banda que te sirva.

Gracias por tus sugerencias, nosotros tratamos de darte nuestro punto de vista, y respetaremos siempre el tuyo.

saludos :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.