Foros del Web » Programando para Internet » PHP »

mi foro creado desde 0!!!

Estas en el tema de mi foro creado desde 0!!! en el foro de PHP en Foros del Web. el tema es que yo quiero crear mi propio foro, (no quiero utilizar phpbb ni similar) y durante el proceso de creacion, se me a ...
  #1 (permalink)  
Antiguo 16/05/2007, 08:24
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
mi foro creado desde 0!!!

el tema es que yo quiero crear mi propio foro, (no quiero utilizar phpbb ni similar) y durante el proceso de creacion, se me a prensentado un problema que es el siguiente:
no se como crear un sistema, que me diga si un usuario tienen mensajes nuevos o no en el foro, desde la ultima vez que entro.

se que tengo que guardar la fecha de la ultima conexion, y aqui el 1º problema ¿como se cuando registrar ese dato? , y desde ese dato, buscar todos los temas o mensajes nuevos que s hallan posteado en adelante. pero como se cuando devo de registrar la fecha 'de salida'??

otra opcion, que aunque no me convence, la pense, es guardar todos los mensajes que a visto el usuario, y comparar si hay algunos que no halla visitado, pero y si empieza a entrar gente al foro?? la tabla seria enorme...
(aunque es la unica forma de verificar que realmente a leido el mensaje) ¿supondria un problema.... el volumen de datos?

saludos
  #2 (permalink)  
Antiguo 16/05/2007, 08:29
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 4 meses
Puntos: 33
Re: mi foro creado desde 0!!!

esto puede servirte saludos
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #3 (permalink)  
Antiguo 16/05/2007, 08:41
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
Re: mi foro creado desde 0!!!

me lo mire hace tiempo , pero si no recuerdo mal, no nombra nada sobre el sistema en el que tengo la duda, el de comprobar que hay mensajes nuevos..

saludos y muchas gracias
  #4 (permalink)  
Antiguo 16/05/2007, 09:02
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: mi foro creado desde 0!!!

No es dificil, mira primero, una solucion simple puede ser en la tabla del user tener un campo llamada ultima_conexion.

Cada vez que el usuario navege en el foro, tendras que updatear ese campo con la fecha (como tu quieras, en timestamp, o formato date), es preferible timestamp (int).

Bueno, tu script, primero tendria que salvar la ultima conexion en una variable de session o en la cookie, luego la reemplaza por la fecha nuevo, bueno ya que tenemos la vieja ultima_conexion en la variable de session o cookie, consultas en la bd de los mensajes, todos los mensajes que tengan una fecha mayor a la fecha guardada. Y esos seran los nuevos mensajes.

Ahora si deseas marcar un mensaje como nuevo (en negrita o con un imagen especial), simplemente con un if preguntando si la fecha del mensaje es mayor a la fecha de la ultima conexion , pone en negrita el titulo del post, si no, normal.

Saludos
  #5 (permalink)  
Antiguo 16/05/2007, 09:17
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
Re: mi foro creado desde 0!!!

y como voy quitando de "mensajes no vistos" conforme los ve?? con cookies??
  #6 (permalink)  
Antiguo 16/05/2007, 09:34
 
Fecha de Ingreso: mayo-2007
Mensajes: 252
Antigüedad: 17 años
Puntos: 5
Re: mi foro creado desde 0!!!

Lo que yo haria.....


respecto a lo de guardar la "ultima_conexion" en la tabla de usuarios, estoy de acuerdo

En la tabla de "hilos de conversacion", yo guardaria en un campo la fecha del ultimo post de ese hilo.

Cuando el usuario inicia la sesion

SELECT id from hilos_conversaccion where ultimo_post > ULTIMA_VISITA

y guardaria esos ID en un array, como una variable de la sesion.

while mysql_fetch_row()
hay_nuevos_mensajes[id]=1


al entrar en un subforo, cuando muestres los titulos de todos los hilos

SELECT id,titulo from hilos_conversacion where subforo=x

los mostraria asi:
whle mysq_fech_row()
if isset(hay_nuevos_mensajes[hilo])
print "titulo en negrita"
else
print "titulo normal"

y

cuando el usuario vaya entrando en cada hilo de conversaccion
lo eliminaria del array..
unset (hay_nuevos_mensajes[id])


/*
PERDON POR EL PSEUDOCODIGO
*/
  #7 (permalink)  
Antiguo 16/05/2007, 10:02
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
Re: mi foro creado desde 0!!!

ok gracias por la idea, no lo are en una variable de sesion por que no quiero utilizar sesiones pero puedo hacerlo con una cookie y la funcion extract o algo asi.
  #8 (permalink)  
Antiguo 16/05/2007, 10:08
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
Re: mi foro creado desde 0!!!

lo unico que no me a quedado muy claro es como registrar la fecha de ultima conexion, aver, segun yo entiendo:

cada vez que el usuario cambia de pagina tendria que ir actualizando la fecha de ultima conexion para asi, que se guarde el ultimo movimiento registrado. ok. ¿hasta de aqui bien?. ok pero si hago esto, cuando vuelva a entrar, volvera a sustituir esta variable por lo que ya no se cual tenia antes.. . como funciona esto exactamente?
  #9 (permalink)  
Antiguo 16/05/2007, 11:31
 
Fecha de Ingreso: mayo-2007
Mensajes: 252
Antigüedad: 17 años
Puntos: 5
Re: mi foro creado desde 0!!!

Cita:
Iniciado por conkis Ver Mensaje
lo unico que no me a quedado muy claro es como registrar la fecha de ultima conexion, aver, segun yo entiendo:

cada vez que el usuario cambia de pagina tendria que ir actualizando la fecha de ultima conexion para asi, que se guarde el ultimo movimiento registrado. ok. ¿hasta de aqui bien?. ok pero si hago esto, cuando vuelva a entrar, volvera a sustituir esta variable por lo que ya no se cual tenia antes.. . como funciona esto exactamente?
cada vez que carga una pagina, actualizas el valor en la BD

y

cada vez que inicia una sesion (hace un login, por ejemplo) cargas el valor de BD en la variable de sesion (antes de sobreescribirlo en la BD)
  #10 (permalink)  
Antiguo 16/05/2007, 11:36
 
Fecha de Ingreso: mayo-2007
Mensajes: 39
Antigüedad: 17 años
Puntos: 0
Re: mi foro creado desde 0!!!

aaa ok ok ya lo entiendo, muchas gracias a todos, de verdad
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 12:15.