相同的回声变量是否为空

时间:2016-03-11 10:38:23

标签: php mysql mysqli

我有将值存储到变量中的查询。然后将变量用于除法,然后用于回声。但问题是,某个时候数据库中的选定值有一个值,有时它不存在,因为数据库中没有任何内容。当数据库中始终存在值时,我不会收到错误消息,但是当没有值时我会得到。

然后我收到此错误:

  

警告:除以零   第104行的D:\ home \ site \ wwwroot \ devlopment \ respondents2.php

第104行是$result00= round($sum/$total*100);

这是我的代码

$result = mysqli_query($mysqli,"SELECT rid, pid, firstname, lastname, email FROM temp_members_db WHERE pid='$pid1' ");
echo "<table><tr><th>Namn</th><th>E-mail</th><th>Resultat</th><th>Ta bort kandidat</th></tr>";
while($row = mysqli_fetch_array($result))
{
$count= "SELECT COUNT(qid) AS 'Total' FROM result WHERE rid=".$row['rid']."";
$result01 = mysqli_query($mysqli, $count); 
$resultArr01 = mysqli_fetch_array($result01);
$total= $resultArr01[0]*10;

$pointsummary= "SELECT SUM(points) AS 'Summary' FROM result WHERE rid=".$row['rid']."";
$result02 = mysqli_query($mysqli, $pointsummary);
$resultArr02 = mysqli_fetch_array($result02);

$sum= $resultArr02[0];
$result00= round($sum/$total*100);
$_SESSION['res'] = $row['rid'];

echo "<tr><td><strong>
<form action='respondent2.php' method='GET'>
 <input type='hidden' name='rid' value='".$row['rid']."'>
 <input type='hidden' name='firstname' value='".$row['firstname']."'> 
<input type='submit' name='submit' value='".$row['firstname']." ".$row['lastname']."'>

 </form>
 </strong></td> 
 <td>".$row['email']."</td> 
 <td><strong>".$result00."%</strong></td>   
</td></tr>"; }

我想我可能应该尝试“if empty statement”但是当我尝试时我没有修复它并得到一个空白页面。我希望回应同样的事情,因为$result00有时可能有价值,有时却没有。我只想删除没有任何error_reporting(0);的错误消息。

2 个答案:

答案 0 :(得分:2)

你应该这样做

$result00 = 
($total != 0 ? round($total*100/$sum) : 0);

答案 1 :(得分:1)

您需要做的就是检查您的变量是否为零。如果是,您可以直接显示零而不是计算它(导致除以零警告)。

一个简单的三元运算符可以解决这个问题

$result00 = ($total != 0 ? round($sum/$total*100) : 0);

您应该对可能包含零的所有结果执行此操作。

阅读&#34;三元运营商&#34;在下面的链接中详细了解这些工作原理。