Changeset 20731


Ignore:
Timestamp:
2011/03/19 20:10:57 (10 years ago)
Author:
shutta
Message:

refs #1176 商品登録CSVにて、入力エラーがあった場合に無駄にシーケンス番号が消費される
全行入力チェックした後に、DB更新するように処理を改善。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php

    r20623 r20731  
    196196        $errFlag = false; 
    197197 
     198        $arrTargets = array(); 
     199 
    198200        while (!feof($fp)) { 
    199201            $arrCSV = fgetcsv($fp, CSV_LINE_MAX); 
     
    233235            } 
    234236 
    235             $this->lfRegistProduct($objQuery, $line_count, $objFormParam); 
    236             $arrParam = $objFormParam->getHashArray(); 
    237  
    238             $this->addRowResult($line_count, "商品ID:".$arrParam['product_id'] . " / 商品名:" . $arrParam['name']); 
     237            $arrTargets[$line_count] = clone $objFormParam; 
     238        } 
     239        fclose($fp); 
     240 
     241        if (!$errFlag) { 
     242            foreach ($arrTargets as $line_count=>$objFormParam) { 
     243                $this->lfRegistProduct($objQuery, $line_count, $objFormParam); 
     244                $arrParam = $objFormParam->getHashArray(); 
     245 
     246                $this->addRowResult($line_count, "商品ID:".$arrParam['product_id'] . " / 商品名:" . $arrParam['name']); 
     247            } 
    239248        } 
    240249 
    241250        // 実行結果画面を表示 
    242251        $this->tpl_mainpage = 'products/upload_csv_complete.tpl'; 
    243  
    244         fclose($fp); 
    245252 
    246253        if ($errFlag) { 
Note: See TracChangeset for help on using the changeset viewer.