在Codeigniter中插入用逗号分隔的多个数据

时间:2016-08-01 07:11:48

标签: php codeigniter

我想问一下如何用逗号插入多个数据,我有这样的数据:

$fruits = 'apple, banana, grape';
$beverages = 'coffee, tea, juice';

然后我想在一个动作中插入数据

这里是我的代码

$arr = explode(',', $fruits);
for($i = 0; $i < count($arr); $i++)
{
  $item = array(
  'fruits'   => $fruits[$i],
  'beverages' => $beverages[$i],
);

$this->db->insert('tb_menu', $item);
}

它不能正常工作,然后我使用print_r这样显示的数据

Array ( [fruits] => a [beverages] => c ) Array ( [fruits] => p [beverages] => o ) Array ( [fruits] => p [beverages] => f ) 

任何人都知道如何处理这个? Plz帮助我!!

4 个答案:

答案 0 :(得分:2)

这是你的代码。

$fruits = 'apple, banana, grape';
$beverages = 'coffee, tea, juice';
$fruitsArray = explode(',', $fruits);
$beveragesArray = explode(',', $beverages);

for($i = 0; $i < count($fruitsArray); $i++)
{

    $item = array('fruits' => $fruitsArray[$i],'beverages' => $beveragesArray[$i]);
    $this->db->insert('tb_menu', $item);

}
试试这可能对你有所帮助。一件事,两个字符串都不包含逗号分隔值相同。否则可能有机会跳过某些值。

答案 1 :(得分:1)

$arr = explode(',', $fruits);

for($i = 0; $i < count($arr); $i++) {

  $item = array('fruits'   => $fruits[$i],'beverages' => $beverages[$i]);
  $this->db->insert('tb_menu', $item[i]);//add index 

}

//尝试这可能是有效的

答案 2 :(得分:1)

试试这个

您必须为水果和饮料创建两个阵列。在我们的例子中,两个数组都有相同的长度,所以我们将遍历任何一个。然后在Database中插入数组的每个索引。

$arr = explode(',', $fruits);
$arr1 = explode(',', $beverages);
for($i = 0; $i < count($arr); $i++)
{
  $item = array(
  'fruits'   => $arr[$i],
  'beverages' => $arr1[$i],
   );

$this->db->insert('tb_menu', $item);
}

答案 3 :(得分:0)

您可以单独尝试:

$fruits = 'apple, banana, grape';
$fruitsArray = explode(',', $fruits);
foreach ($fruitsArray as $row) {              
      $fruit['fruits'] = $row;
      $this->db->insert('tb_menu', $fruit);  
}