¡Hola!
Estoy programando un foro, y estoy pensando en poner una sección de "Temas recientes en el foro" en el que estén los temas que el usuario no ha visto y que sean recientes. El problema es que sé como hacerlo; se me ocurre tener una tabla en la base de datos con todos los temas y después otra tabla aparte donde poner los usuarios y el tema que no ha visto; eso se tendría que hacer cada vez que otro usuario crea un tema y encima con todos los usuarios de la web, si me imagino que hay 10.000 usuarios, ¡tendría que crear una fila para todos incluso para los inactivos, eso ocuparía mucha memoria y tardaría en enviar mucho los temas! .
También se me ocurre tener una tabla donde estén los temas que crean los usuarios y después que cuando el usuario le de a "Temas recientes" coja una fecha y a partir de esa fecha vaya cogiendo todos los temas en los que no haya comentado después de esa fecha, para ello, tendría que consultar la tabla donde están los mensajes alojados, pero, ¿cómo podría hacer eso en una sola sentencia? Me refiero a coger los temas y a la vez ver si ha comentado o no. ¿Tardaría mucho en cargar si pongo eso?
Espero que no os haya liado mucho, si queréis os lo puedo explicar de otra forma si no os habéis enterado de esta. No se me ocurre otra forma de hacerlo y que no sea una locura, ¿qué podría hacer? Vosotros diréis si es o no una locura...
Muchas gracias,
Enrique.
PD: Algo parecido me pasa con los "Temas actualizados" donde tendría que avisar a todos aquellos que han publicado en el tema anteriormente y que haya publicado otro usuario después que él, después de una fecha.