Codeigniter插入数组的问题

时间:2015-03-25 22:19:45

标签: php jquery arrays codeigniter

这最终可能不会成为问题,但我会就这种情况给出一些背景知识。

我(尝试)为我工作的业务创建退货授权系统。所有内部测试似乎表明系统按预期工作,并且所有错误都已修复。我的错误日志是空的,我的javascript控制台没有显示任何异常。

某些案例我想象的是由于过时的浏览器(虽然我持怀疑态度,因为它似乎是服务器方面的问题)但是“返回”的产品没有被插入进入我的数据库。

在提交时,我正在收集并将用户的联系信息放入我的数据库中的表格中 - 这很有效且没有问题。

一旦我获得了这些信息,我就会在具有名称数组的字段上运行 foreach 循环。

foreach( $this -> input -> post('po_number') as $number => $value ){

    $ponum   = $this -> input -> post('po_number');
    $innum   = $this -> input -> post('inv_number');
    $qty     = $this -> input -> post('quantity');
    $panum   = $this -> input -> post('part_number');
    $desc    = $this -> input -> post('description');
    $reason = $this -> input -> post('reason');

    $insert_requests = array(
        'rga_id'        => $rga_no,
        'po_number'     => $ponum[$number],
        'inv_number'    => $innum[$number],
        'quantity'      => $qty[$number],
        'part_number'   => $panum[$number],
        'description'   => $desc[$number],
        'reason'        => $reason[$number]
    );

    if( $insert_requests['po_number'] != 0){

        $input = $this->db->insert('new_rga_returns', $insert_requests);
    }
}

所以这就是我上面提到的。这些“$ this-> input-> post”中的每一个都是我拥有的字段,可以通过javascript / jQuery添加。最初有一行输入,可以根据需要添加更多。

然而,每个“RGA”甚至没有发送过一行。

最令人沮丧的是(如上所述)每当办公室里的某个人输入一个请求时,它就可以运行(运行win7 chrome V41)。我还测试了IE10和最新版本的FireFox,一切运行良好。 (由于兼容性,无法下载旧浏览器)

我们曾经有一个人在他们的Mac上做出“回归”,这似乎也打破了它。

据我所知,处理输入数组的不同机器/浏览器/操作系统似乎存在问题......

1 个答案:

答案 0 :(得分:0)

我最终删除了

$insert_requests['po_number'] != 0

来自我的 if 语句,只需将其替换为

即可
if( $insert_requests ) { ... }

首先代表我放在那里的蠢事。感谢那些评论的人。

编辑澄清

本来应该检查插入请求是否存在,而不是看它是否等于某事。