- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP+Mysql无刷新问答评论系统(源码)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
自己写的一个评论系统源码分享给大家,包括有表情,还有评论机制。用户名是随机的 。
针对某一篇文章进行评论 。
- function subcomment() {
- $data['uid'] = getUserid();
- $data['mtype'] = I("post.mtype", 0, 'int');
- if ($data['uid'] == '') {
- echo json_encode(array("code" => -1));
- } else {
- $content = addslashes(str_replace(" ", "<br />", $_POST['content']));
- $data['tid'] = I("post.id", 0, 'int'); //文章id
- if (strlen(preg_replace('/[ [^)]+? ]/x', '', $content)) < 10) {
- echo json_encode(array("code" => "short than 10", "error" => "评论的内容不能少于10个字符。"));
- exit;
- }
- if (C("DB_PWD") != '') {
- if (time() - session("comment_time") < 60 && session("comment_time") > 0) {//2分钟以后发布
- echo json_encode(array("code" => "fast", "error" => "您提交评论的速度太快了,请稍后再发表评论。"));
- exit;
- }
- }
- $data['pid'] = I("post.pid", 0, 'int');
- $data['pid_sub'] = I("post.pid_sub", 0, 'int');
- $lyid = $data['pid_sub'] > 0 ? $data['pid_sub'] : $data['pid'];
- if ($lyid > 0) {
- $lyinfo = M("comment")->field("uid")->where("id='" . $lyid . "'")->find();
- $data['touid'] = $lyinfo['uid'];
- } else {
- $data['touid'] = 2;
- }
- $data['addtime'] = time();
- $emots = getTableFile("emot");
- foreach ($emots as $v) {
- $content = str_replace("[" . $v['name'] . "]", "<img alt='" . $v['name'] . "' src='" . __APP__ . "/Public/emot/" . ($v['id'] - 1) . ".gif'>", $content);
- }
- $data['content'] = addslashes($content);
- $info = M("comment")->field("id")->where("content='" . $data['content'] . "'")->find();
- if ($info['id']) {
- echo json_encode(array("code" => "comment_repeat", "error" => "检测到重复评论,您似乎提交过这条评论了"));
- exit;
- }
- $lastid = M("comment")->add($data);
- $points_comment = 20;
- if ($lastid > 0) {
- $day_start = strtotime(date("Y-m-d"));
- $day_end = $day_start + 3600 * 24;
- $comment_num_day = M("comment")->where("uid = " . $data['uid'] . " AND addtime between " . $day_start . " AND " . $day_end . "")->count();
- if ($comment_num_day <= 5) { //少于5条每天,则添加积分
- // addPoints("comment", $points_comment, $data['uid'], "评论获得" . $points_comment . "积分", 5, 1);
- }
- // addMessage('comment', $data['tid'], $data['pid'], $data['mtype'], $data['touid'], $content);
- }
- session("comment_time", time());
- echo json_encode(array("code" => 200, "comment" => $content, "points" => $points_comment));
- }
- }
根据分页参数获取对应评论列表 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
function
comments() {
$id
= I(
"get.id"
, 0,
'int'
);
$mtype
= I(
"get.mtype"
, 1,
'int'
);
$page
= I(
"get.page"
, 1,
"int"
);
$totalnum
= I(
"get.totalnum"
, 1,
"int"
);
$start
= 10 * (
$page
- 1);
$sql
=
"tid = "
.
$id
.
" AND pid = 0"
;
$comments
= M(
"comment"
)->field(
"id,uid,content,addtime"
)->where(
$sql
)->order(
"id DESC"
)->limit(
$start
.
",10"
)->select();
// echo M("comment")->getlastsql();
foreach
(
$comments
as
$k
=>
$v
) {
$comments
[
$k
][
'sub'
] = M(
"comment"
)->field(
"id,uid,content,pid_sub"
)->where(
"tid = "
.
$id
.
" AND pid = "
.
$v
[
'id'
] .
""
)->order(
"id ASC"
)->select();
}
$this
->assign(
"id"
,
$id
);
$this
->assign(
"mtype"
,
$mtype
);
$this
->assign(
"comments"
,
$comments
);
$this
->assign(
"comments_num"
,
$totalnum
- (
$page
- 1) * 10);
$this
->display();
}
|
切换评论分页 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
if
($(
"#detail-page"
).length > 0) {
var
id = $(
"#detail-page"
).attr(
"data-id"
);
var
mtype = $(
"#detail-page"
).attr(
"data-mtype"
);
var
totalnum = $(
"#detail-page"
).attr(
"data-totalnum"
);
$(
"#detail-page"
).children(
"a"
).click(
function
() {
var
page = parseInt($(this).attr(
"data-page"
));
$(
"#detail-page"
).children(
"a"
).removeClass(
"current"
);
$(
"#detail-page"
).children(
"a"
).eq(page - 1).addClass(
"current"
);
$(
"#comment_list"
).html(
"<div style='padding:20px 0;text-align:center;'><img src='"
+ site_url +
"Public/images/loading.gif'></div>"
);
$.get(getUrl(
"Box/comments"
), {
page: page,
id: id,
totalnum: totalnum,
mtype: mtype
},
function
(data) {
$(
"#comment_list"
).html(data)
})
})
}
|
评论表和表情表已放在压缩包里 。
1
2
3
4
5
6
7
8
9
10
11
12
|
CREATE TABLE IF NOT EXISTS `sucai_comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL,
`touid` int(11) DEFAULT
'0'
,
`pid_sub` int(11) DEFAULT
'0'
,
`tid` int(11) NOT NULL,
`pid` int(11) DEFAULT
'0'
,
`mtype` tinyint(1) NOT NULL,
`content` text NOT NULL,
`addtime` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5560 ;
|
。
最后此篇关于PHP+Mysql无刷新问答评论系统(源码)的文章就讲到这里了,如果你想了解更多关于PHP+Mysql无刷新问答评论系统(源码)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
目前我正在构建相当大的网络系统,我需要强大的 SQL 数据库解决方案。我选择 Mysql 而不是 Postgres,因为一些任务需要只读(MyISAM 引擎)而其他任务需要大量写入(InnoDB)。
我在 mysql 中使用如下命令。当它显示表格数据时,它被格式化为一个非常干净的表格,间距均匀且 |作为列分隔符。 SELECT * FROM TABLE_NAME; 当我从 CLI 运行命令时,如下
我知道这个问题之前已经被问过好几次了,我已经解决了很多问题,但到目前为止没有任何效果。 MySQL 试图将自身安装到的目录 (usr/local/mysql) 肯定有问题。关于我的错误的奇怪之处在于我
以下是我的 SQL 数据结构,我正在尝试如下两个查询: Select Wrk_ID, Wrk_LastName, Skill_Desc from Worker, Skill where
我们有一个本地 mysql 服务器(不在公共(public)域上),并希望将该服务器复制到我们拥有的 google 云 sql 实例。我的问题是:1.这可能吗?2.我们的本地服务器只能在本地网络上访问
我有一个表(test_table),其中一些字段值(例如字段 A、B 和 C)是从外部应用程序插入的,还有一个字段(字段 D),我想从现有表(store_table)插入其值,但在插入前者(A、B 和
我想创建一个 AWS RDS 实例,然后使用 terraform 管理数据库用户。因此,首先,我创建了一个 RDS 实例,然后使用创建的 RDS 实例初始化 mysql 提供程序,以进一步将其用于用户
当用户在我的网站上注册时,他们会在我的一个数据库中创建自己的表格。该表存储用户发布的所有帖子。我还想做的是也为他们生成自己的 MySql 用户——该用户仅有权从他们的表中读取、写入和删除。 创建它应该
我有一个关于 ColdFusion 和 Mysql 的问题。我有两个表:PRODUCT 和 PRODUCT_CAT。我想列出包含一些标记为:IS_EXTRANET=1 的特殊产品的类别。所以我写了这个
我想获取 recipes_id 列的值,以获取包含 ingredient_id 的 2,17 和 26 条目的值。 假设 ingredient_id 2 丢失则不获取记录。 我已经尝试过 IN 运算符
在 Ubuntu 中,我通常安装两者,但 MySQL 的客户端和服务器之间有什么区别。 作为奖励,当一个新语句提到它需要 MySQL 5.x 时,它是指客户端、服务器还是两者兼而有之。例如这个链接ht
我重新访问了我的数据库并注意到我有一些 INT 类型的主键。 这还不够独特,所以我想我会有一个指导。 我来自微软 sql 背景,在 ssms 中你可以 选择类型为“uniqeidentifier”并自
我的系统上有 MySQL,我正在尝试确定它是 Oracle MySQL 还是 MySQL。 Oracle MySQL 有区别吗: http://www.oracle.com/us/products/m
我是在生产 MySQL 中运行的应用程序的新维护者。之前的维护者已经离开,留下的文档很少,而且联系不上了。 我面临的问题是执行以下请求大约需要 10 秒: SELECT COUNT(*) FROM `
我有两个位于不同机器上的 MySQL 数据库。我想自动将数据从一台服务器传输到另一台服务器。比方说,我希望每天早上 4:00 进行数据传输。 可以吗?是否有任何 MySQL 内置功能可以让我们做到这一
有什么方法可以使用 jdbc 查询位于 mysql 根目录之外的目录中的 mysql 表,还是必须将它们移动到 mysql 根目录内的数据库文件夹中?我在 Google 上搜索时没有找到任何东西。 最
我在 mysql 数据库中有两个表。成员和 ClassNumbers。两个表都有一个付费年份字段,都有一个代码字段。我想用代码数字表中的值更新成员表中的付费年份,其中成员中的代码与 ClassNumb
情况:我有 2 台服务器,其中一台当前托管一个实时 WordPress 站点,我希望能够将该站点转移到另一台服务器,以防第一台服务器出现故障。传输源文件很容易;传输数据库是我需要弄清楚如何做的。两台服
Phpmyadmin 有一个功能是“复制数据库到”..有没有mysql查询来写这个函数?类似于将 db A 复制到新的 db B。 最佳答案 首先创建复制数据库: CREATE DATABASE du
我有一个使用 mySQL 作为后端的库存软件。我已经在我的计算机上对其进行了测试,并且运行良好。 当我在计算机上安装我的软件时,我必须执行以下步骤: 安装 mySQL 服务器 将用户名指定为“root
我是一名优秀的程序员,十分优秀!