2011-03-12 27 views
8

¿Cuál sería la forma ideal de implementar este tipo de cosas? La idea que tengo en mi cabeza en este momento es tener una tabla de comentarios y hacer que cada comentario tenga un identificador de hilo y un identificador de comentario padre. El identificador de subproceso indicaría a qué subproceso pertenece el comentario y permitiría una declaración simple de MySQL utilizando la cláusula WHERE. Cada comentario tendría un identificador autoincremento según el diseño habitual de la base de datos y la columna del identificador padre indicaría de qué comentario es hijo este comentario.¿Cómo implementar un sistema de comentarios anidados?

Este tipo de diseño pondría la mayor parte de la tensión en el aspecto PHP de las cosas, ya que solo sería una llamada SQL para obtener todos los comentarios de un hilo. Otra implementación que encontré fue tener una consulta SQL para cada nivel de anidación. Esta solución pondría el énfasis en los lados SQL de las cosas.

¿Cómo implementaría esto SO? Actualmente estoy perdido porque no estoy seguro de qué solución es la "mejor" solución y todavía soy bastante nuevo en el diseño de bases de datos, PHP y JQuery.

Gracias.

+0

http://www.ferdychristant.com/blog//articles/DOMM-7QJPM7 –

Respuesta

6

Mire Managing Hierarchical Data in MySQL, específicamente la sección llamada "Modelo de conjunto anidado". Puede que tenga que leer varias veces antes de que tenga sentido (lo hice) pero vale la pena. Es una forma muy poderosa de trabajar con datos anidados y recuperar las partes que desea con una sola consulta.

En el lado negativo, para las actualizaciones debe hacer mucho más trabajo.

Cuestiones relacionadas