2010-01-20 4 views
0

Je veux penser à un moyen d'afficher et d'interroger les commentaires.Arbres de commentaires en sql et en html

Chaque commentaire peut avoir des enfants et des frères et soeurs. Je voudrais afficher 40 commentaires dans une page. Cependant, j'aimerais montrer à tous les enfants. Le problème ici est que si un enfant a plus de 40 commentaires en dessous, cela ne fonctionnera pas. En outre, je n'ai aucune idée de comment je pourrais obtenir les commentaires. Je pourrais interroger tous les commentaires qui appartiennent à media.id et construire un arbre basé sur son point de vue, mais ne serait pas l'analyse et le déplacement de tout cela prend du temps? Je ne suis pas sûr de la meilleure méthode pour le faire.

Le tableau des commentaires ressemble à:

public class comment 
{ 
    public PK id; 
    public media media; 
    public comment parent; 
    public user_data author; 
    public DateTime date; 
    public string text; 
    public Flags flags; 
} 

Répondre

1

Cet article explique comment construire une lignée d'arbres dans votre table: http://www.sqlteam.com/article/more-trees-hierarchies-in-sql À ce stade, vous pouvez interroger pour obtenir des pages de 40 normalement, le tri sur le champ de la lignée .
... Voici un exemple qui montre comment faire la pagination en t-sql: http://blogs.x2line.com/al/archive/2005/11/18/1323.aspx

Dans votre cas, vous devez utiliser SELECT ROW_NUMBER() OVER(ORDER BY lineage) AS RowNum ou quelque chose à cet effet.

Avec cette méthode, vos requêtes seront très rapide.

Questions connexes