Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在尝试分割数据库条目,但不断出现错误_Php_Database_Divide - Fatal编程技术网

Php 正在尝试分割数据库条目,但不断出现错误

Php 正在尝试分割数据库条目,但不断出现错误,php,database,divide,Php,Database,Divide,我已连接到我的数据库并成功创建了一个包含其中信息的表,但是,我想将本周的通话时间除以EWD,EWD是一个介于1和7之间的值,这些值存储在我的数据库中。您试图在范围外使用$row array。再解释一点,你需要对每一行进行除法还是先把它们全部相加然后进行除法?试试这个: <?php $connection = mysql_connect('###', '###', '###'); mysql_select_db('msg360db1'); $sql = "SELECT

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

您试图在范围外使用$row array。再解释一点,你需要对每一行进行除法还是先把它们全部相加然后进行除法?

试试这个:

<?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;
?>
在循环之后,这些不是必需的:

$row['CalltimeThisWeek']

$row['EWD']

此外,还需要将时间戳转换为可除整数:

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

您不能被零除;这就是你犯的错误

替换这个

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

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

您需要检查$row['EWD']和$row['CalltimeThisWeek']中的0或负值

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

你得到了什么错误?我得到了这个,警告:在第33行的D:\vhosts\msg360.co.uk\httpdocs\emailtesting\fuel_target\example_divide.php中被零除结果:第33行是这一行,如果它帮助$number=$row['EWD']/$row['CalltimeThisWeek';您需要验证$row['CalltimeThisWeek']在你尝试用它做数学运算之前包含一个非零值你的一些通话时间实际上是0?Hashim Ahmed 1 00:17:05 James Hughes 4 02:46:32 Jordache Halifax 1 00:33:49 Lucy Atkinson 2 Kai Carrier 3 00:07:52 Adam Isaacson 1 01:08:35 Kaylie Aldridge 2 00:20:09结果:0现在返回这个,但是,我希望每行都有一个结果,然后您需要将$number math和echo语句放在while循环中,否则它将只使用它在变量中得到的最后一个数字并生成一个结果。
 if ($row['EWD'] >= 1 && $row['CalltimeThisWeek'] >= 1) { 
    $number = ($row['EWD'] / $row['CalltimeThisWeek']);  
 } else {
    $number = 0;
 }