我想问一下如何用逗号插入多个数据,我有这样的数据:
$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帮助我!!
答案 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);
}