Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/12/2009, 03:43
paloto
 
Fecha de Ingreso: abril-2007
Mensajes: 114
Antigüedad: 17 años, 7 meses
Puntos: 2
Respuesta: Para crear nuevo tema

Ok. Vamos a aclarar primero el asunto de los "Temas" y las "Respuestas", y para ello vamos a basarnos el tema actual de Foros Del Web en el que nos encontramos.

Vamos a pasar por alto que en Foros del Web existen varios niveles de subforos. Así, por ejemplo, ahora mismo nos encontraríamos en el subforo "Bases de Datos", por lo tanto ese registro lo veríamos así:

TABLA SUBFOROS
ID: 1
NOMBRE: Bases de Datos

Este "tema" se llamaría (valga la redundancia) "Para crear nuevo tema" y su registro en la tabla "Temas" sería así:

TABLA TEMAS
ID: 1
TITULO: "Para crear nuevo tema"
SUBFORO: 1 (id del subforo "Bases de datos")
TEMA: * El tema sería el contenido de tu primer mensaje.

Y cada una de las respuestas dentro de este tema se encontrarían en la tabla "RESPUESTAS" en la que los registros serían:

TABLA RESPUESTAS
ID: (el id que corresponda)
TITULO: (el título que corresponda)
RESPUESTA: (la respuesta del usuario)
TEMA: (id del tema al que pertenece la respuesta en este caso 1)
* además de fecha, usuario, etc.

De esta forma, cada respuesta sabrás a qué tema pertenece, y cada tema sabrás a qué subforo pertenece, para tenerlo todo perfectamente estructurado.

Por otro lado, comentarte que el autoincrement no vale para contar cuantos registros tienes, pues en caso de que se borre algún mensaje, este dato será erroneo, por el contrario siempre puedes hacer una consulta con un COUNT() para obtener este dato. El tener este campo "id" te vale para varias cosas, pero la más importante es que tus consultas serán más rápidas si accedes a los registros a través de su id.

Y por último, cuando te recomiendo dejar de lado en principio el tema de los permisos y las valoraciones, no me refiero a que no lo hagas. Me refiero a que en principio te centres a la parte básica del foro, a hacer que funcione el sistema de respuestas y temas, y cuando este funcione correctamente te pongas con los permisos y las valoraciones. No te lo digo para que "aprendas" más, si no porque es el proceso lógico que suele seguir cualquier programador web. Primero se construye la base y las funciones básicas, y luego se implementa las funcionalidades extras.

Espero haber sido lo suficientemente claro en mi explicación, si no es así, avísame que lo intento hacer mejor :)

Un saludo

Última edición por paloto; 10/12/2009 a las 03:51