Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Metodo para verificar si un tema esta leido o no

Estas en el tema de Metodo para verificar si un tema esta leido o no en el foro de PHP en Foros del Web. Hola estoy desarrollando un foro en PHP y pora hora va bien pero me falta el como saber si un foro o tema esta leido ...
  #1 (permalink)  
Antiguo 27/10/2015, 10:15
Avatar de Chiiviito  
Fecha de Ingreso: octubre-2012
Mensajes: 64
Antigüedad: 11 años, 6 meses
Puntos: 0
Metodo para verificar si un tema esta leido o no

Hola estoy desarrollando un foro en PHP y pora hora va bien pero me falta el como saber si un foro o tema esta leido o no, osea si hay mensajes o respuestas nuevos.


Aca esta mi foro:


Lo que quiero es que el titulo del tema o titulo del foro se ponga en negrita cuando tenga respuestas o mensaje snuevos y normal cuando no.

Yo estaba pensando en una tabla llamada "leidoTema" que contenga el id del tema, el id del usuario y un campo booleano para saber si esta leido o no.

Entonces existira un campo por cada usuario * tema, osea si tengo 5000 usuario y 20000 temas voy a tener 5000 en cada tema pero al hacer eso se me agranda la base de datos a lo loco

Alguno tiene otra alternativa?

Saludos
  #2 (permalink)  
Antiguo 27/10/2015, 10:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Metodo para verificar si un tema esta leido o no

Pues la solución es correcta, una tabla intermedia que establece la relación entre temas y usuarios, etc.

¿Qué problema hay con que tenga muchos registros?

Este foro ha de tener millones de registros así y no hay razón de preocuparse de ello.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/10/2015, 10:26
 
Fecha de Ingreso: julio-2015
Ubicación: Barcelona
Mensajes: 93
Antigüedad: 8 años, 9 meses
Puntos: 3
Respuesta: Metodo para verificar si un tema esta leido o no

Una tabla intermedia no ocupa nada, pones el ID, ID_POST, ID_USUARIO, LEIDO cada vez que haya un nuevo post en ese tema pones que todos los leidos son 0 y a medida que vaya entrando un usuario, ese leido se convierte en 1.

Por lo que tienes 4 columnas solo con 1 numero practicamente, ocupa muy poco aunque tengas miles de registros.
  #4 (permalink)  
Antiguo 27/10/2015, 10:57
Avatar de Chiiviito  
Fecha de Ingreso: octubre-2012
Mensajes: 64
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Metodo para verificar si un tema esta leido o no

Ahh..ok entonces no estoy mal, pero suponganse que estoy haciendo un foro para 30.000 usuario y mas de 100.000 temas voy a tener 3.000.000.000 registros para saber si estan leidos o no ???????

Nunca hice una aplicacion de una base de datos tan grande si hice de hasta 150.000 pero no de millones :v
Diganme si esta bien o no

GRacias por las respuestas
  #5 (permalink)  
Antiguo 27/10/2015, 11:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Metodo para verificar si un tema esta leido o no

Cita:
pero suponganse que estoy haciendo un foro para 30.000 usuario y mas de 100.000 temas voy a tener 3.000.000.000 registros para saber si estan leidos o no ???????
No necesariamente, jamás des por sentado que cada usuario visitará cada uno de los temas, es irreal.

Sólo se crearán los registros que hagan falta, las consultas las harás bajo demanda.

Ningún problema hay con ello, tu tranquilo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 27/10/2015, 11:29
Avatar de Chiiviito  
Fecha de Ingreso: octubre-2012
Mensajes: 64
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Metodo para verificar si un tema esta leido o no

Gracias todos, y ahora que lo pienso es verdad, nadie se toma el tiempo de leer todos los 100.000 temas creados :v ya pueden cerrar tema y gracias señores!

Etiquetas: leido, metodo, tabla, tema, verificar
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 08:18.