簡體   English   中英

插入數組的Codeigniter問題

[英]Codeigniter Issues with inserting arrays

最終可以證明這不是問題,但我會提供一些有關情況的背景信息。

我(嘗試過)為我工作的公司創建退貨授權系統。 所有內部測試似乎都表明系統正在按預期工作,並且所有錯誤均已修復。 我的錯誤日志為空,並且我的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上執行“返回”,這似乎也破壞了它。

據我所知,這似乎是不同的機器/瀏覽器/操作系統以不同方式處理輸入數組的問題...

我最終刪除了

$insert_requests['po_number'] != 0

從我的if語句中替換為

if( $insert_requests ) { ... }

首先要代表我放在那里的愚蠢事物。 感謝那些發表評論的人。

編輯澄清

應該檢查插入請求是否存在,而不是查看它是否等於某個值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM