学校向けのブログを作っています。作成されたスレッドごとのコメント数を表示したいと思います。しかし、私はこの目標を達成する方法に少し迷っています。どんな助けでもありがとう!
私は2つのテーブルを持っています
CREATE TABLE `blog_message` (
`MessageID` int(30) NOT NULL AUTO_INCREMENT,
`Username` varchar(45) NOT NULL,
`Message` text,
`AddedDate` datetime DEFAULT NULL,
`Title` varchar(45) DEFAULT NULL,
PRIMARY KEY (`MessageID`)
)
CREATE TABLE `blog_comments` (
`CommentID` int(30) NOT NULL AUTO_INCREMENT,
`MessageID` int(30) DEFAULT NULL,
`Author` varchar(45) DEFAULT NULL,
`CommentMessage` text,
`AddedDate` datetime DEFAULT NULL,
PRIMARY KEY (`CommentID`),
KEY `blog_comments_ibfk_1` (`MessageID`),
CONSTRAINT `blog_comments_ibfk_1` FOREIGN KEY (`MessageID`) REFERENCES `blog_message` (`MessageID`)
)
私のフォームビューコード
<asp:FormView ID="FormView1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1">
<ItemTemplate>
<div>
<asp:Label ID="lblcc" runat="server" Text="Comment Replys"></asp:Label>
<asp:Label ID="lblT" runat="server" Text="Title"></asp:Label>
<asp:Label ID="lblA" runat="server" Text="Author"></asp:Label>
<asp:Label ID="lbldoc" runat="server" Text="Date of Creation"></asp:Label>
</div>
<hr />
<asp:LinkButton ID="LinkButton1" runat="server" Font-Underline="false" PostBackUrl='<%# Eval("MessageID", "BlogComments.aspx?MessageID={0}") %>' >
<asp:Label ID="lblCommentCounts" runat="server" Text='<%# Eval("comment_count") %>'></asp:Label>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>'></asp:Label>
<asp:Label ID="lblAuthor" runat="server" Text='<%# Eval("Author") %>'></asp:Label>
<asp:Label ID="lbDateOfCreation" runat="server" Text='<%# Eval("AddedDate") %>'></asp:Label>
</asp:LinkButton>
<hr />
</ItemTemplate>
</asp:FormView>
MySQL コード
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT bm.MessageId, count(bc.CommentId) as comment_count, bm.AddedDate, bm.Author, bm.Title
FROM blog_comments bc, blog_message bm
WHERE bm.MessageId = bc.MessageId
GROUP BY bm.MessageId"></asp:SqlDataSource>
私の目標は
グリッドビューで表示する
テーブル形式:
コメント数 | タイトル | ユーザー名 | 作成日
ただし、スレッドにコメントがある場合にのみ表示されます。スレッドのコメントが 0 件の場合、0 件のコメントを表示するにはどうすればよいですか?