在TPL文件上显示SQL信息

时间:2014-01-30 17:04:26

标签: php sql smarty datalife-engine

我正在使用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小数字

1 个答案:

答案 0 :(得分:0)

好的,解决了它:)

$tpl->set( '{rating_num}',number_format (($row['rating']/ $row['vote_num']),1 ));

并使用,只需在模板文件上使用{rating_num}