Php 如何在codeigniter中获取多个插入的id
我正在编写一个Codeigniter脚本,其中使用foreach插入了多行。我想得到所有最后插入的id 这是我的密码:Php 如何在codeigniter中获取多个插入的id,php,mysql,ajax,codeigniter,fullcalendar,Php,Mysql,Ajax,Codeigniter,Fullcalendar,我正在编写一个Codeigniter脚本,其中使用foreach插入了多行。我想得到所有最后插入的id 这是我的密码: public function savePickupDataModal($dates, $pickData) { foreach ($dates['dates'] as $date) { $sql = 'INSERT INTO pickupManagement (dates, readyhour, readymint, readyformat, late
public function savePickupDataModal($dates, $pickData) {
foreach ($dates['dates'] as $date) {
$sql = 'INSERT INTO pickupManagement (dates, readyhour, readymint, readyformat, latesthour, latestmint, latestformat, approxVal, otherComment) ' .
'VALUES("' . $date . '","' . $pickData['readyhour'] . '","' . $pickData['readymint'] . '","' . $pickData['readyformat'] . '","' . $pickData['latesthour'] . '","' . $pickData['latestmint'] . '","' . $pickData['latestformat'] . '","' . $pickData['approxVal'] . '","' . $pickData['otherComment'] . '")';
$query = $this->db->query($sql);
if ($this->db->affected_rows() > 0) {
return true;
} else {
return false;
}
}
}
在这里,日期数组包含任意数量的日期,如3、4或5,因此将执行插入查询,直到数组包含日期数为止
如何获取所有最后插入的记录id?在您的案例中,您实际上正在执行多个独立的查询,因此您可以获取最后一个id,并将其反复推送到一个数组中
$affected_ids = array();
foreach(....
$query = .....
if($this->db->affected_rows() > 0)
$affected_ids[] = $this->db->insert_id();
}
echo '<pre>', print_r($affected_ids),'</pre>';
$infected_id=array();
foreach(。。。。
$query=。。。。。
如果($this->db->infected_rows()>0)
$infected_id[]=$this->db->insert_id();
}
回显“”,打印($受影响的ID),“”;
这里似乎不需要实际返回true或false。这只是返回最后一行为什么?foreach($infected_id as$infected_id){$fetchQuery='SELECT*FROM pickupManagement WHERE pickup_id=“”.$infected_id.”;$querys=$this->db->query($fetchQuery);}if($querys->num rows()>0){foreach($querys->result()作为$results){$data[]=$results;}返回$data;}将
$infected_ids=array();
放在foreach
循环之前。