我正在使用datalife引擎制作博客,而我正在尝试调整默认评级模块。
在DLE中,默认评级显示5颗星和投票数。我想根据该信息添加0到10的实际分数。
在SQL db中,信息存储在表“dle_post_extras”中,它有两列,“rating”和“vote_num”。所以我需要在特定的“id”中将最终结果=“rating”/(divide)“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", "" );
}
我不想改变这部分,我需要能够仍然使用它。你能帮助我如何查询db这两个值并将它们相互分开,以及如何显示它们?哦,最终的“得分”只能有一个十进制数。输出只能用于ex:7.1,8.6,4.2等等
编辑:
好的,所以我想要这样的东西
$tpl->set( '{rating_num}',$row['rating'] dividing by $row['vote_num']);
并将此值四舍五入为1小数字
答案 0 :(得分:0)
好的,解决了它:)
$tpl->set( '{rating_num}',number_format (($row['rating']/ $row['vote_num']),1 ));
并使用,只需在模板文件上使用{rating_num}