-5

カウント付きの投票とは異なり、同じように表示したい。私のコードを以下に示しますが、filename.phpに警告:ゼロによる除算が表示されます。

<?php
include("db.php");

if($_POST['id'])
{
$id=mysql_escape_String($_POST['id']);
$name=mysql_escape_String($_POST['name']);

mysql_query("update messages set $name=$name+1 where id='$id'");

$result=mysql_query("select up,down from messages where id='$id'");
$row=mysql_fetch_array($result);

$up_value=$row['up'];
$down_value=$row['down'];
$total=$up_value+$down_value;

$up_per=($up_value*100)/$total;
$down_per=($down_value*100)/$total;
?>
<div style="margin-bottom:10px">
<b>Ratings for this blog</b> ( <?php echo $total; ?> total)
</div>
<table width="700px">

<tr>
<td width="30px"></td>
<td width="60px"><?php echo $up_value; ?></td>
<td width="600px"><div id="greebar" style="width:<?php echo $up_per; ?>%"></div></td>
</tr>

<tr>
<td width="30px"></td>
<td width="60px"><?php echo $down_value; ?></td>
<td width="600px"><div id="redbar" style="width:<?php echo $down_per; ?>%"></div></td>
</tr>

</table>

<?php
}
?>
4

3 に答える 3

0

$total除算で使用する前に変数を確認してください

たとえばif ($total != 0)、分割操作を行います

于 2012-05-31T05:52:59.303 に答える
0

リソースが賛成票または反対票を投じられていない場合、ゼロによる除算が行われます。

$up_per=($up_value*100)/$total;
于 2012-05-31T05:53:01.127 に答える
0
if ($total !== 0) {
  $up_per = ($up_value*100)/$total;
  $down_per = ($down_value*100)/$total;
} else {
  // what do you want to show when there is no votes.
  $up_per = 0;
  $down_per = 0;
}
于 2012-05-31T05:54:05.663 に答える