在php中显示2个mysql列的总和

时间:2016-06-16 11:51:06

标签: php mysql

我正在尝试在mysql数据库中对这两个布尔列进行简单求和。并在结果窗格中对这两个值进行不同的计算。 这就是db看起来像db

的方式

我正在尝试提出一个mysql语句,它返回'likes'和'disliked'之和的总和

然后我需要以2种格式提供此值:

  • 作为整数(只是计数)
  • 百分比

这就是我的php代码的样子:

  if(isset($_GET['results'])){
  $get_votes = 'SELECT liked SUM(1), disliked SUM(1) AS total FROM live';
  $run_votes = mysqli_query($con, $get_votes);
  $row_votes = mysqli_fetch_array($run_votes);

  $disliked = $row_votes['disliked']
  $liked = $row_votes['liked'];

  $count = $disliked+$liked;

  $per_disliked = round($disliked*100/$count) . "%";
  $per_liked = round($liked*100/$count) . "%";

  $per_dislikedclean = round($disliked*100/$count);
  $per_likedclean = round($liked*100/$count);

我得到一个'除零'错误。这可能是因为mysqli_fetch_array需要一个mysqli_result。任何人都可以阐明这个话题吗?

1 个答案:

答案 0 :(得分:1)

尝试使用以下SQL来获得所需的结果

SELECT SUM(liked) As liked, SUM(disliked) AS disliked, ( SUM(liked)*100 )/count(*) AS like_perc, ( SUM(disliked)*100)/count(*) AS dislike_perc FROM live