PHP如何修复这个奇怪的未定义偏移量错误?

PHP如何修复这个奇怪的未定义偏移量错误?,php,codeigniter,Php,Codeigniter,好的,这是我的模型,它将所有内容返回到我的控制器并转发到我的视图我得到了正确的行输出,但我也得到了这个奇怪的未定义偏移错误。 模型 看法 以下是导致错误的行: 29| <?php echo $optimum['cFirstName'][$i]; ?> 30| <?php echo $optimum['cLastName'][$i]; ?> ..| <?php echo $optimum['cId'][$i]; ?> <?php echo $optimum

好的,这是我的模型,它将所有内容返回到我的控制器并转发到我的视图我得到了正确的行输出,但我也得到了这个奇怪的未定义偏移错误。

模型

看法

以下是导致错误的行:

29| <?php echo $optimum['cFirstName'][$i]; ?>
30| <?php echo $optimum['cLastName'][$i]; ?>
..| <?php echo $optimum['cId'][$i]; ?>
<?php echo $optimum['cStatus'][$i]; ?>
<?php echo $optimum['cDateSold'][$i]; ?>
<?php echo $optimum['cCorp'][$i]; ?>
<?php echo $optimum['cAccount'][$i]; ?>
<?php echo $optimum['cAddress'][$i]; ?>
<?php echo $optimum['cAptNum'][$i]; ?>
<?php echo $optimum['cState'][$i]; ?>
<?php echo $optimum['cZip'][$i]; ?>
<?php echo $optimum['cEmail'][$i]; ?>
<?php echo $optimum['cHomePhone'][$i]; ?>
<?php echo $optimum['cCellPhone'][$i]; ?>
<?php echo $optimum['cInstallDate'][$i]; ?>
<?php echo $optimum['cInstallTime'][$i]; ?> 
<?php echo $optimum['cServiceLevelSold'][$i]; ?>
<?php echo $optimum['cWinBackFrom'][$i]; ?>
<?php echo $optimum['cSaleSource'][$i]; ?>
..| <?php echo $optimum['cTier'][$i]; ?>    
49| <?php echo $optimum['mySalesRepId'][$i]; ?>
29|
30| 
..| 
..|     
49| 

在您的功能中,您必须计算结果。。当前在您的视图中,您统计的是字段而不是结果。。添加1个数据键计数并在视图中使用

................................................
                    $data['cTier'][] = $row->customerTier;      
                    $data['mySalesRepId'][] = $row->SalesRepId;
                }
                $data['counts'] = $query->num_rows;
            } else {
                $data = "No pending installs available!";
                return $data;
            }   
    //the following var_dump is only showing the last record.
    //need to show all rows (which should be 2)
    //var_dump($data); exit;
    return $data;           
    }
在望

<?php $dataNumRows = isset($optimum['counts']) ? $optimum['counts']:0; ?>


您的count($optimum)给出的是字段的计数(它是一个包含数组的哈希映射,如$optimum=array(“x”=>array(1,2)、“y”=>array(1,2))等等),而不是列的计数。您必须更改将项附加到数组的方式,或者更改计数器的工作方式。count($optimal[“Firstname”]可能会起作用)

您能让导致此错误的行可见吗?为什么不执行类似的操作:$data[]=array(“Firstname”=>$row->Firstname,“lastname”=>$row->lastname);按你的方式做?太好了,这正是我需要的。查看代码。你能修改一下你的答案,只列出那条线的工作原理吗。我知道您正在将
count
作为模型中的num\u行传递。这很完美,但是您能向视图代码解释语法吗?它是速记吗?谢谢
29| <?php echo $optimum['cFirstName'][$i]; ?>
30| <?php echo $optimum['cLastName'][$i]; ?>
..| <?php echo $optimum['cId'][$i]; ?>
<?php echo $optimum['cStatus'][$i]; ?>
<?php echo $optimum['cDateSold'][$i]; ?>
<?php echo $optimum['cCorp'][$i]; ?>
<?php echo $optimum['cAccount'][$i]; ?>
<?php echo $optimum['cAddress'][$i]; ?>
<?php echo $optimum['cAptNum'][$i]; ?>
<?php echo $optimum['cState'][$i]; ?>
<?php echo $optimum['cZip'][$i]; ?>
<?php echo $optimum['cEmail'][$i]; ?>
<?php echo $optimum['cHomePhone'][$i]; ?>
<?php echo $optimum['cCellPhone'][$i]; ?>
<?php echo $optimum['cInstallDate'][$i]; ?>
<?php echo $optimum['cInstallTime'][$i]; ?> 
<?php echo $optimum['cServiceLevelSold'][$i]; ?>
<?php echo $optimum['cWinBackFrom'][$i]; ?>
<?php echo $optimum['cSaleSource'][$i]; ?>
..| <?php echo $optimum['cTier'][$i]; ?>    
49| <?php echo $optimum['mySalesRepId'][$i]; ?>
................................................
                    $data['cTier'][] = $row->customerTier;      
                    $data['mySalesRepId'][] = $row->SalesRepId;
                }
                $data['counts'] = $query->num_rows;
            } else {
                $data = "No pending installs available!";
                return $data;
            }   
    //the following var_dump is only showing the last record.
    //need to show all rows (which should be 2)
    //var_dump($data); exit;
    return $data;           
    }
<?php $dataNumRows = isset($optimum['counts']) ? $optimum['counts']:0; ?>