【发布时间】:2014-01-30 17:04:25
【问题描述】:
我正在使用 datalife 引擎制作博客,并且正在尝试调整默认评级模块。
在 DLE 中,默认评级显示 5 星和投票数。我想根据该信息添加一个从 0 到 10 的实际分数。
在 SQL db 中,信息存储在“dle_post_extras”表中,它有“rating”和“vote_num”两列。所以我需要最终结果是那个特定的“id”中的=“rating”/(dividing)“vote_num”。
据我所知,tpl 文件中用于显示评级信息的 [rating] 和 {rating},它们在 show.full.php 中定义,如下所示
if( $row['allow_rate'] ) {
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
$tpl->set( '{vote-num}', "<span id=\"vote-num-id-".$row['id']."\">".$row['vote_num']."</span>" );
$tpl->set( '[rating]', "" );
$tpl->set( '[/rating]', "" );
} else {
$tpl->set( '{rating}', "" );
$tpl->set( '{vote-num}', "" );
$tpl->set_block( "'\\[rating\\](.*?)\\[/rating\\]'si", "" );
}
我不想更改这部分,我需要能够仍然使用它。你能帮我如何在数据库中查询这两个值并将它们一分为二,以及如何显示它们吗?哦,最后的“分数”只能有一位小数。输出只能用于 ex:7.1、8.6、4.2 等
编辑:
好的,所以我想要这样的东西
$tpl->set( '{rating_num}',$row['rating'] dividing by $row['vote_num']);
这个值四舍五入到小数点后一位
【问题讨论】:
标签: php sql smarty datalife-engine