CodeIgniter创建并更新到表

right to the problem, anyone please help me...

  1. I have an array

    Controller :

    $choosen_vendor = $_POST ['choosen_vendor'];
    print_r($choosen_vendor); echo "<br/>";
    <br/> Array ( [0] => Flash Computer [1] => Toko Jameson's [2] => Flash   Computer [3] => Donaldson Filtration Indonesia [4] => Donaldson Filtration Indonesia [5] => )
    
  2. Next I've do something like this (will be used to update a table)

    • create number of data as number of $choosen_vendor, but if an array have same value, it'll be count as one => IT WORKED
    • add and auto increment ata tje end of ref_no as id_po of it => IT WORKED

      Controller :

      $numven = count(array_count_values(array_filter($choosen_vendor)));
      $ar = array_filter(array_unique($choosen_vendor));
      $povendor = array_values($ar);
      
      $R = $this -> model_prcsys -> get_max_po ();
      $maxpo = $R [0] -> po_id + 1;
      $beref = $_POST ['beref'];
      
      for ($i=0; $i < $numven; $i++) {
      $update = array (
          'pr_id' => $_POST ['prid'] [$i],
          'rfq_id' => $_POST ['rfq_id'] [$i],
          'vendor_name' => $povendor [$i] ,
          'pr_ref_no' => $_POST ['pr_ref'],
          'ref_no' => $beref.$maxpo++ ,
          'status' => $_POST ['statuspo'] ,
          'status_date' => $_POST ['status_date'] ,
          );
      //$this -> model_prcsys -> create_po ($update);
      print_r($update); echo "<br/>";
      }
      Array ( [pr_id] => 1 [rfq_id] => 1 [vendor_name] => Flash Computer    [pr_ref_no] => PR/AI/15/08/1 [ref_no] => PO/SA/15/09/1 [status] => REQ for PO  [status_date] => 2015/09/14 )
      Array ( [pr_id] => 1 [rfq_id] => 1 [vendor_name] => Toko Jameson's   [pr_ref_no] => PR/AI/15/08/1 [ref_no] => PO/SA/15/09/2 [status] => REQ for PO  [status_date] => 2015/09/14 )
      Array ( [pr_id] => 1 [rfq_id] => 1 [vendor_name] => Donaldson Filtration Indonesia [pr_ref_no] => PR/AI/15/08/1 [ref_no] => PO/SA/15/09/3 [status] => REQ for PO [status_date] => 2015/09/14 )
      
  3. I'll update the item table as it $_POST, but if $def_price or $vendor is empty (0.00), ignore it (get result from view). On my view is like this :

      if ( ($def_price != '0.00') || ($vendor != '') )
    { ?> <input type="hidden" name="prlineid[]" value="<?php echo $row -> pr_line_id ?>" /> <?php }
    

    else { ?>

        $code = $_POST ['prlineid'];
    $count = count($code);
    for ($i=0; $i < $count; $i++) {
    $update2 = array (
           'status' => $_POST ['statusline'] [$i],
           'log_date' => $_POST ['log_date'],
            );
    $idline = $code [$i];
    //$this -> model_prcsys -> update_linesas_reqforpo ($update,$idline);
    print_r($idline); echo "&nbsp;&nbsp;&nbsp;";
    print_r($update2); echo "<br/>";
    }   
    
1   Array ( [status] => REQ for PO [log_date] => Array ( [0] => 2015/09/14 [1] => 2015/09/14 [2] => 2015/09/14 [3] => 2015/09/14 [4] => 2015/09/14 [5] => 2015/09/14 ) )
<br/>
2   Array ( [status] => REQ for PO [log_date] => Array ( [0] => 2015/09/14 [1] => 2015/09/14 [2] => 2015/09/14 [3] => 2015/09/14 [4] => 2015/09/14 [5] => 2015/09/14 ) )
<br/>
4   Array ( [status] => REQ for PO [log_date] => Array ( [0] => 2015/09/14 [1] => 2015/09/14 [2] => 2015/09/14 [3] => 2015/09/14 [4] => 2015/09/14 [5] => 2015/09/14 ) )
<br/>
6   Array ( [status] => REQ for PO [log_date] => Array ( [0] => 2015/09/14 [1] => 2015/09/14 [2] => 2015/09/14 [3] => 2015/09/14 [4] => 2015/09/14 [5] => 2015/09/14 ) )
<br/>
7   Array ( [status] => REQ for PO [log_date] => Array ( [0] => 2015/09/14 [1] => 2015/09/14 [2] => 2015/09/14 [3] => 2015/09/14 [4] => 2015/09/14 [5] => 2015/09/14 ) )
//IT WORKED, it means it'll update as line_id and ignored the empty cause it not $_POST-ed

My Problem is : in $update2, I need POST PO_ID that have been created on my no.2 function to of each line_id that create it, or in other word, i need to have this :

  • id 1 will get PO_ID 1 (from vendor Flash)
  • id 2 will get PO_ID 2 (from vendor Jameson)
  • id 4 will get PO_ID 1 (from vendor Flash)
  • id 6 will get PO_ID 3 (from vendor Donalson)
    id 7 will get PO_ID 3 (from vendor Donalson)