Php 插入带有Codeigniter活动记录的阵列
我有一个带有复选框值和id值的数组。复选框可以有多个值,否则id只有一个。我的数组是Php 插入带有Codeigniter活动记录的阵列,php,arrays,codeigniter,Php,Arrays,Codeigniter,我有一个带有复选框值和id值的数组。复选框可以有多个值,否则id只有一个。我的数组是$data2,打印: Array ( [checkbox] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 8 [5] => 9 [6] => 10 [7] => 21 ) [id] =&
$data2
,打印:
Array (
[checkbox] => Array (
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 8
[5] => 9
[6] => 10
[7] => 21
)
[id] => 8
)
模型中的代码是
function checkboxes($data2)
{
foreach($data2->result() as $row)
{
$data= array(
'story'=> $row->checkbox,
'id'=>$row->id
);
$this->db->insert('stories_to_categories',$data);
}
}
问题是因为我在数组中有数组,有人能帮我把这段代码插入数据库吗
我还想插入相同的号码ID和复选框,例如,3 id的值为1,3复选框的值为这是一个虚拟答案,它将澄清您的概念,即当您使用多维数组时,多维数组首先在codeigniter中运行,因此您需要一个键来跟踪您的记录哪个记录属于哪个键,以便有助于获取到目前为止,我已经专门为您创建了一个简单的虚拟程序,并且也在您的代码中工作过,因此您可能会喜欢我的工作,也希望您的问题能够得到解决。另外,请查看php手册和文档,这将使您更清楚地了解多维数组以及我使用的函数
sizeof()
此函数用于测量对象的大小,可以是其自创对象,也可以是数据库对象。它有助于测量。这里是文档链接,请查看我们如何使用它
这是伪代码
$section = array( 'Clients'=>array('pepsi','cocacola','sevenup'),
'Services'=>array('Web Design','Graphic Design','DataMigration'),
'Techonologies'=>array('codeigniter','postgresql','ubuntu')
);
$i=0;
foreach($section as $key => $row)
{
//taking up specific value
echo $section['Techonologies'][0];
echo '<pre>';
//checking the size of the key in array Clients is a key and it has 3 values
while($i<sizeof($row))
{
echo $row[$i].'<br/>';
$i++;
}
$i=0;
echo '</pre>';
}
echo '<pre>';
print_r($section);
echo '</pre>';
}
$section=array('Clients'=>array('pepsi','cocacola','sevenup'),
“服务”=>array(“Web设计”、“图形设计”、“数据迁移”),
'techonologys'=>array('codeigniter'、'postgresql'、'ubuntu')
);
$i=0;
foreach($key=>$row的部分)
{
//占比值
echo$section['techonologys'][0];
回声';
function checkboxes($data2)
{
$i=0;
$data=$data2->result();
foreach($data as $key => $row)
{
while($i<sizeof($row))
{
$data= array(
'story'=> $row[$i],
'id'=>$data['id'][0]
);
$this->db->insert('stories_to_categories',$data);
$i++;
}
}
}
//在阵列客户端中检查密钥的大小是一个密钥,它有3个值
而($iresult();
foreach($key=>$row形式的数据)
{
而($i$row[$i],
'id'=>$data['id'][0]
);
$this->db->insert('stories\u to\u categories',$data);
$i++;
}
}
}
您必须将数据变量插入到数据库中,我说得对吗?因此第二个变量是错误的,因为您将值存储在数据变量中,并且将整个对象数据2传递给insert函数,这是错误的。这没有任何意义。什么是$data2?为什么会有结果()我在你原来的数组中看不到这一点。让我们更专注一点,我正在编辑这个问题以便更好地理解ChrisG你同意吗我打印数据数组哪里出了问题,你看到了结构OK你看到了什么错误