mysql数据库怎么实现查询文章及文章下的评论

mysql数据库怎么实现查询文章及文章下的评论,第1张

文章和评论可以分别查询啊

两个接口

查询文章列表,分页的话加上page参数就可以了

查询文章的评论,将该页文章的id传递给后台,后台用in查询,all union这种方式查询,评论也得有分页吧?如果把某篇文章的评论都查出来,假设评论有1000条,db就快挂了

你为什么建3张表,文章和评论是一对多的关系,建2张表就可以了啊?

看半天也不是很明白你的逻辑

你就想要把文章评论数去查询出来(看这SQL语句的意思是)。

select

count()

from

PL

where

PL表中的存储的文章ID(你这的PL_WZ_ID)=

文章ID

(WZ_ID)

这语句好像是没什么问题,但是

你这文章ID如果不是传参数进来,而是直接这样语句编译都不通过呢

如果要联合查询

我初步的猜测,查询2表(文章表WZ,和评论表PL):

select

count(cid),aWZ_ID

from

WZ

a

left

join

PL

c

on

aWZ_ID=cPL_WZ_ID

group

by

aWZ_ID

查看各文章下的评论数量。

这只是我个人的想法希望不是误导

自己设计wordpress评论列表及评论框方法:

<php if('open' == $post->comment_status && $parent_comment_status == 'open') : // 如果文章允许评论 >

<div id="comments">

<php if(have_comments()) : >

<div>已有<php comments_number('0','1','%'); >条评论 <a id="to-quick-respond" style="color: #bc373a;" href="#respond">快速评论</a></div>

<ol id="comments-lists"><php wp_list_comments(array('callback' => 'mytheme_comment'));></ol>

<php if(get_comment_pages_count()->1 == get_option('page_comments')) : // 如果条数大于规定的条数,那么就要翻页了 >

<div id="comment-navi"></div>

<php endif; // 翻页导航结束 >

<php endif; // 评论列表结束 >

<div id="respond">

<php if(get_option('comment_registration') && !is_user_logged_in()) : //如果文章设置了必须登录才能评论 >

你必须<a href="<php wp_login_url(get_permalink()); >">登录</a>才能评论!

<php else : //文章不用登录就能评论 >

<form id="commentform" action="<php bloginfo('url'); >/wp-comments-postphp" method="post">

<php if(isset($_GET['replytocom']) && $_GET['replytocom'] != '') : >

<div>

您正在回复<php echo comment_author($_GET['replytocom']); ><a style="color: #f00;" href="#comment-<php echo $_GET['replytocom']; >" rel="nofollow">@<php echo $_GET['replytocom']; >楼</a> <a href="<php the_permalink(); >#comment-<php echo $_GET['replytocom']; >" rel="nofollow">取消</a>

<!-- 这里需要注意:由于我的主题是用我自己的方式取消回复,如果使用wordpress自己的取消按钮,请使用<php cancel_comment_reply_link('取消'); > -->

</div>

<php endif; >

<php if(is_user_logged_in()) : // 如果用户已经登录 >

<div>亲爱的<strong><php echo $user_identity; ></strong> 您已经登录啦! <a href="<php echo admin_url('profilephp'); >">修改信息</a> <a href="<php echo wp_logout_url(get_permalink()); >">注销</a> 赶快评论啊!</div>

<php elseif($comment_author != '') : // 如果用户没有登录,而之前又已经进行了评论,被记录的email信息 >

<div>亲爱的<strong><php echo $comment_author; ></strong> 欢迎回来!<a id="toggle-comment-author-info" href="javascript:toggleCommentAuthorInfo();"><php _e('修改信息'); ></a> 留下您的回复吧</div>

<div id="comment-author-info" style="display: none;"><input id="author" type="text" name="author" value="<php echo $comment_author; >" /><label for="author"><php _e('昵称'); ><php if ($req) echo " "; ></label>

<input id="email" type="text" name="email" value="<php echo $comment_author_email; >" /><label for="email"><php _e('邮箱'); ><php if ($req) echo " "; ></label>

<input id="url" type="text" name="url" value="<php echo $comment_author_url; >" /><label for="url"><php _e('个人主页'); ></label></div>

<script type="text/javascript">

var changeMsg = '修改信息';

var closeMsg = '隐藏信息';

function toggleCommentAuthorInfo(){

var $info_box = $('#comment-author-info'),$tog_btn = $('#toggle-comment-author-info');

$info_boxslideToggle('slow', function(){

if($info_boxcss('display') == 'none'){

$tog_btntext(changeMsg);

}else{

$tog_btntext(closeMsg);

}

});

}

</script>

<php else : //既没登录,也没之前留言情况下 >

<div>填写个人信息,赶快回复吧!</div>

<div id="comment-author-info"><input id="author" type="text" name="author" value="" /><label for="author"><php _e('昵称'); ><php if ($req) echo " "; ></label>

<input id="email" type="text" name="email" value="" /><label for="email"><php _e('邮箱'); ><php if ($req) echo " "; ></label>

<input id="url" type="text" name="url" value="" /><label for="url"><php _e('个人主页'); ></label></div>

<php endif; >

<div id="comment-text"><textarea id="comment" name="comment"></textarea></div>

<div>

<button id="submit" name="submit" type="submit"><php _e('提交'); ></button>

<span><a id="insert_comment_img" onclick="return insertImg('comment');" href="#">插入</a></span>

<php if(function_exists('add_mail_to_comment_checkbox'))add_mail_to_comment_checkbox(); >

<input type="hidden" name="redirect_to" value="<php the_permalink(); >" />

<php do_action('comment_form', $post->ID); >

<php comment_id_fields(); >

<div></div>

</div>

<script type="text/javascript">

// Ctrl+Enter提交评论

$(document)keypress(function(e){

if(ectrlKey && ewhich == 13 || ewhich == 10) {

$("#submit")click();

documentbodyfocus();

} else if (eshiftKey && ewhich==13 || ewhich == 10) {

$("#submit")click();

}

});

</script>

</form><php endif; // 回复部分结束 >

</div><!-- end of #respond -->

</div><!-- endi of #comment -->

<php endif; //如果文章允许评论的话,到这里结束

你一般需要作者表、文章表、类别表、评论表,

作者表用来存放注册用户信息:用户ID、用户名、密码、发表数、最后发表日期;用户ID为主键;

文章表用来存放所有文章信息:文章ID、用户ID、类别ID、标题、正文、点击数;文章ID为主键;

类别表用来存放所有文章类别信息:用户ID、类别ID、类别名称;用户ID、类别ID为主键;

评论表用来存放所有的评论:文章ID、评论ID、评论人名称、评论内容、作者回复内容;评论ID为主键;文章ID为外键;

我以前自己写的博客系统把所有人的文章分类统一进行管理,这样可以在一个总目录下分类浏览所有文章,因为我的系统在公司内部网络运行,用户不是很多。如果你也打算这样,那么分类表设计需要麻烦一点,要么管理员维护,要么作者申请、管理员审核,要么作者先直接使用,管理员负责调整。

基本思路:在评论表中加上一个字段,用于存文章的ID,然后查询数据库的时候,通过文章的ID来取评论,这样就把评论和文章关联起来了。

具体实现涉及到如下几点:

第一、在用户评论文章的时候,要提交相应文章的ID。

第二、查询的时候,根据ID去取文章和评论,就是在SELECT的时候加上where articleID=文章id

第三、显示即可。

希望能够给你提供一个基本思路。

以上就是关于mysql数据库怎么实现查询文章及文章下的评论全部的内容,包括:mysql数据库怎么实现查询文章及文章下的评论、做个论坛,文章评论数想写到数据库中,sql语句写到哪合适呢、如何自己设计wordpress评论列表及评论框等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10192101.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存