无法在Codeigniter中更新数据库查询

时间:2019-03-11 12:31:17

标签: php mysql codeigniter

我必须从数组的形式中获取记录。以下是数组结果。

runners = market_book_result[0]['runners']
for runner in runners:
    items = runner['ex']['availableToBack']
    for item in items:
        print(item['price'])

现在我很困惑,如何更新产品表中的代码(例如代码)。 Array( [price] => Array ( [0] => 210 ) [code] => Array ( [0] => SER-1001 ) ) Array ( [price] => Array ( [1] => 80 ) [code] => Array ( [1] => XYZ-121 ) ) ,然后更新价格SER-1001

与其余匹配代码记录的方式相同。

2 个答案:

答案 0 :(得分:0)

foreach ($arr as $key => $value) {
  $data = array(  
    'price'=> $value['price'];
  );  
  $this->db->where('code', $value['code']);  
  $this->db->update(‘database-table-name’,$data);   
}

尝试一下,在这里您将遍历数组并一步一步地更新数据。

答案 1 :(得分:0)

    $array = [
     [
        'price' => [ '0' => 210],
        'code' =>['0' => 'SER-1001']
    ],
    [
        'price' => ['1' => 80],
        'code' =>['1' => 'XYZ-121']
    ]
];

参考上面的输出数组。您可以编写类似以下的代码。


$counter = 0;
foreach($array as $data)
{
    if(isset($data['code'][$counter]))
    {
        $code = $data['code'][$counter];

        $data = [
            'price' => $data['price'][$counter];
        ];

        $this->db->where($column, $code);

        $this->db->update('database-table-name',$data);  
    }

    $counter++;
}