谁能写一个thinkphp 商城购物评论回复能例子?
--
-- 表的结构 `ecs_comment`
--
DROP TABLE IF EXISTS `ecs_comment`;
CREATE TABLE `ecs_comment` (
`comment_id` int(10) unsigned NOT NULL auto_increment,
`comment_type` tinyint(3) unsigned NOT NULL default '0',
`id_value` mediumint(8) unsigned NOT NULL default '0',
`email` varchar(60) NOT NULL default '',
`user_name` varchar(60) NOT NULL default '',
`content` text NOT NULL,
`comment_rank` tinyint(1) unsigned NOT NULL default '0',
`add_time` int(10) unsigned NOT NULL default '0',
`ip_address` varchar(15) NOT NULL default '',
`status` tinyint(3) unsigned NOT NULL default '0',
`parent_id` int(10) unsigned NOT NULL default '0',
`user_id` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`comment_id`),
KEY `parent_id` (`parent_id`),
KEY `id_value` (`id_value`)
) TYPE=MyISAM;
-- --------------------------------------------------------
/**
* 查询评论内容
*
* @access public
* @params integer $id
* @params integer $type
* @params integer $page
* @return array
*/
function assign_comment($id, $type, $page = 1)
{
/* 取得评论列表 */
$count = $GLOBALS['db']->getOne('SELECT COUNT(*) FROM ' .$GLOBALS['ecs']->table('comment').
" WHERE id_value = '$id' AND comment_type = '$type' AND status = 1 AND parent_id = 0");
$size = !empty($GLOBALS['_CFG']['comments_number']) ? $GLOBALS['_CFG']['comments_number'] : 5;
$page_count = ($count > 0) ? intval(ceil($count / $size)) : 1;
$sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('comment') .
" WHERE id_value = '$id' AND comment_type = '$type' AND status = 1 AND parent_id = 0".
' ORDER BY comment_id DESC';
$res = $GLOBALS['db']->selectLimit($sql, $size, ($page-1) * $size);
$arr = array();
$ids = '';
while ($row = $GLOBALS['db']->fetchRow($res))
{
$ids .= $ids ? ",$row[comment_id]" : $row['comment_id'];
$arr[$row['comment_id']]['id'] = $row['comment_id'];
$arr[$row['comment_id']]['email'] = $row['email'];
$arr[$row['comment_id']]['username'] = $row['user_name'];
$arr[$row['comment_id']]['content'] = str_replace('\r\n', '<br />', htmlspecialchars($row['content']));
$arr[$row['comment_id']]['content'] = nl2br(str_replace('\n', '<br />', $arr[$row['comment_id']]['content']));
$arr[$row['comment_id']]['rank'] = $row['comment_rank'];
$arr[$row['comment_id']]['add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']);
}
/* 取得已有回复的评论 */
if ($ids)
{
$sql = 'SELECT * FROM ' . $GLOBALS['ecs']->table('comment') .
" WHERE parent_id IN( $ids )";
$res = $GLOBALS['db']->query($sql);
while ($row = $GLOBALS['db']->fetch_array($res))
{
$arr[$row['parent_id']]['re_content'] = nl2br(str_replace('\n', '<br />', htmlspecialchars($row['content'])));
$arr[$row['parent_id']]['re_add_time'] = local_date($GLOBALS['_CFG']['time_format'], $row['add_time']);
$arr[$row['parent_id']]['re_email'] = $row['email'];
$arr[$row['parent_id']]['re_username'] = $row['user_name'];
}
}
/* 分页样式 */
//$pager['styleid'] = isset($GLOBALS['_CFG']['page_style'])? intval($GLOBALS['_CFG']['page_style']) : 0;
$pager['page'] = $page;
$pager['size'] = $size;
$pager['record_count'] = $count;
$pager['page_count'] = $page_count;
$pager['page_first'] = "javascript:gotoPage(1,$id,$type)";
$pager['page_prev'] = $page > 1 ? "javascript:gotoPage(" .($page-1). ",$id,$type)" : 'javascript:;';
$pager['page_next'] = $page < $page_count ? 'javascript:gotoPage(' .($page + 1) . ",$id,$type)" : 'javascript:;';
$pager['page_last'] = $page < $page_count ? 'javascript:gotoPage(' .$page_count. ",$id,$type)" : 'javascript:;';
$cmt = array('comments' => $arr, 'pager' => $pager);
return $cmt;
}
2 回答1.5k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
2 回答883 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
2 回答942 阅读
1 回答920 阅读
1 回答852 阅读
你要的是无限极回复。?还是只有一级回复??