试图划分数据库条目但一直出错

时间:2014-03-26 14:18:15

标签: php database divide

<?php
    $connection = mysql_connect('###', '###', '###');
    mysql_select_db('msg360db1');
    $sql = "SELECT * FROM call_log where Pod = 'KNF'";                                                              
        $result = mysql_query($sql);
        echo 
        "<table cellspacing='0' cellpadding='0'>                                
            ";                                  
            while($row = mysql_fetch_array($result))
            {   
                echo "                                      
                <tr>                                        
                    <td style='margin-right:10px;'>" . $row['Rep'] . "</td>
                    <td style='margin-right:10px;'>" . $row['EWD'] . "</td>
                    <td style='margin-right:10px;'>" . $row['CalltimeThisWeek'] . "</td>
                    <td style='margin-right:10px;'></td>
                    <td style='margin-right:10px;'>" . $row['CallsThisWeek'] . "</td>
                    <td style='margin-right:10px;'></td>
                    <td style='margin-right:10px;'>" . $row['CalltimeToday'] . "</td>
                    <td style='margin-right:10px;'>" . $row['CallsToday'] . "</td>                                      
                </tr>
                ";
            }

            echo "
        </table>";
    mysql_close();
?>

<?php
    $row['CalltimeThisWeek'];
    $row['EWD'];
    $number = ($row['EWD'] / $row['CalltimeThisWeek']);
    echo 'Result: '.$number;
?>

我已连接到我的数据库并成功创建了一个包含其中信息的表,但是,我想要将本周的调用时间除以EWD,该值是1到7之间的值,这些值存储在我的数据库中

4 个答案:

答案 0 :(得分:0)

你正试图在范围之外使用$ row数组。解释一下,你需要对每一行进行除法,还是先将它们全部加起来进行除法?

答案 1 :(得分:0)

试试这个:

if($row['CalltimeThisWeek']==0){
   $number = 0;
} else {
   $number = ($row['EWD'] / $row['CalltimeThisWeek']);
}

循环后这些不是必需的:

$row['CalltimeThisWeek'];

$row['EWD'];

此外,您需要将时间戳转换为可分整数: http://php.net/manual/en/function.mktime.php

别忘了: 然后,您需要将$ number数学和echo语句放在while循环中,否则它将仅使用它在变量中获得的最后一个数字并生成一个结果。

答案 2 :(得分:0)

你不能除以零;这就是你得到的错误,

替换此

  <?php
        $row['CalltimeThisWeek'];
        $row['EWD'];
        $number = ($row['EWD'] / $row['CalltimeThisWeek']);
        echo 'Result: '.$number;
    ?>

由此:

   <?php
        $number=0;
        if($row['CalltimeThisWeek']!=0) $number = $row['EWD'] / $row['CalltimeThisWeek']);
        echo 'Result: '.$number;
    ?>

答案 3 :(得分:0)

您需要检查$ row ['EWD']和$ row ['CalltimeThisWeek']是否为0或负值

 if ($row['EWD'] >= 1 && $row['CalltimeThisWeek'] >= 1) { 
    $number = ($row['EWD'] / $row['CalltimeThisWeek']);  
 } else {
    $number = 0;
 }