Desarrollando la parte de administración de una tienda online.
Entre otras cosas la administración consta de tablas con paginación, filtros, ordenación por columnas, ...
Me gustaría saber la opinión de expertos respecto a si es mejor hacer la paginación, filtros, ordenación, ...
con php, escupiendo html y pocas llamadas ajax para algunas comunicaciones cliente servidor y no tener que recargar la pagina entera
o si no esta mal hacerlo del lado del cliente con muchas llamadas ajax, utilizando una libreria javascript JQuery.datatables, donde la paginacion, filtros, ordenacion, insercion, ... se hace mediante javascript y ajax.
Luego a parte de esta pregunta principal, me surge otra duda y es que en el filtrado para las búsquedas, tengo por ejemplo campos select que varían según los datos de la base de datos. Entonces, me gustaría una forma de implementar el código para solucionar el posible problema de que cuando alguien va a usar un filtro de un select por ejemplo, ese select debería de tener otros valores por que así esta la base de datos en ese momento.
Me explico con un ejemplo:
Un usuario A que administra los productos, para ello entra a la parte de gestión de los productos y se le carga un listado tipo tabla con la paginación, filtrado, ... de los productos.
Se le crea un select para filtrar por ejemplo por categorías.
En ese instante, el usuario B crea una nueva categoría y un nuevo producto.
El usuario A va a hacer uso de la información que ve en su navegador, pero claro, el no tiene la información actual veraz, pues por ejemplo, para filtrar por categoría no tiene la nueva categoría que el usuario B justo creó.
¿ Como se soluciona esto ? ¿ con los timestamp de la base de datos? ¿ y mandando un mensaje de que la información cambio o como ?
Imaginemos que tengo varios select para filtrar como categoría, tipo, cliente, ... y los usuarios deben de manejar la información en tiempo real, ¿ que tipo de soluciones hay ?
¿ chequear si esta información es la que tenemos en cada acción del usuario ? ¿ esto se puede hacer digo yo consultando los timestamps y si han cambiado hacerse lo saber al usuario ?
¿ no sobrecargaría esto mucho al servidor en una aplicación grande con muchos usuarios ?
Ruego por favor nos ayuden, pues creo que es un punto realmente importante a la hora de crear una aplicación web, y seguro le servirá a muchos usuarios de forosdelweb.
Muchas gracias.