在php中插入db后如何获取最后一个id

你好

在这里,我将数据保存到多行的数据库中,我想检索每行的最后一个 id,我该怎么做?

ex : 输入数据时的 print_r 结果。

Array
(
    [0] => Array
        (
            [name] => metode 11
            [description] => DESC 1
        )

    [1] => Array
        (
            [name] => metode 22
            [description] => DESC 2
        )

    [2] => Array
        (
            [name] => metode 33
            [description] => DESC 1
        )
)

在数据库中

id | name      | description
1    metode 11   desc 1
2    metode 22   desc 2
3    metode 33   desc 3

完成输入后,我想获取每个 ID,这是我的代码

$data = array(); 
$numrow = 1;
foreach ($sheet as $row) {
    if ($numrow > 1) {
        array_push($data, array(
                'name'              => $row['A'],
                'description'       => $row['B'],
        ));
    }
    $numrow++;
}

$this->db->insert_batch('my_tabel', $data);
$myid =$this->db->insert_id();
//after insert i retrieve id using last_id() function, however, only last id is fetched, i want to fetch each id

$data_1 = array();
$numrow2 = 1;

foreach ($sheet as $row) {
    if ($numrow2 > 1) {
        array_push($data_1, array(
            'id_last'  => $myid,
            'id'     => $row['E'],
            'barang' => $row['F'],
        ));
    }
    $numrow2++;
}

我想要这样:

Array
        (
            [0] => Array
                (
                    [last_id] => 1
                    [id] => 33
                    [barang] => ccc
                )
        
            [1] => Array
                (
                    [last_id] => 2
                    [id] => 44
                    [barang] => dd
                )
        
            [2] => Array
                (
                    [last_id] => 3
                    [id] => 55
                    [barang] => eee
                )
        )

提前感谢那些回答我希望我说的足够清楚

帕特里克·滕

为什么不逐行插入而不是批量插入?从每个插入构建一个字典,以便稍后将其配对。

$data = array(); 
$numrow = 1;
foreach ($sheet as $row) {
    if ($numrow > 1) {
        array_push($data, array(
                'name'              => $row['A'],
                'description'       => $row['B'],
        ));
    }
    $numrow++;
}
$array_of_insert_id = array();

foreach ($data as $index => $data_to_insert) {
    $this->db->insert('my_tabel', $data_to_insert);
    $array_of_insert_id[$index] = $this->db->insert_id();
}

$data_1 = array();
$numrow2 = 1;
$counter = 0;


foreach ($sheet as $row) {
    if ($numrow2 > 1) {
        array_push($data_1, array(
            'id_last'  => $array_of_insert_id[$counter],
            'id'     => $row['E'],
            'barang' => $row['F'],
        ));
    }
    $numrow2++;
    $counter++;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取插入到集合中的最后一个值

如何从yii2中的db获取上个月的最后一个条目?

如何使用OOP PHP将最后一个ID插入mysql?

插入后获取最后一个ID(总是返回0)

如何获取最后一个基于插入值的ID,该ID源自另一个表?

如何获取包含HardwarId的最后一个ID

我在Codeigniter中无法从数据库中获取最后一个插入ID

如何获取最后插入的ID以将其插入到另一个表?

获取最后一个ID插入记录到Laravel中的数据库

如何获取特定ID的最后一个条目

mysql,java-从一个表中获取最后插入的自动增量ID,然后将其再次插入到另一个表中

我如何在laravel中获得create ::中的最后一个插入ID

如何获取linq中的最后一个插入ID

如何在不插入任何数据的情况下获取php中的最后一个插入ID?

在另一个列表PostgreSQL中插入列的最后一个ID

如何从phpMyAdmin中的表中获取最后一个自动增量ID

获取系列中的最后一个插入

如何使用nodejs和ibm_db包从DB2中的表中获取最后一个插入ID

在 PHP 中从 MySQL 获取最后一个 group_id

在php中插入值后如何获取最后一个ID

使用mvvm在viewmodel中刷新后如何从listview获取最后一个SelectedItem索引?

如何获取登录用户 ID 并插入到 PHP 中的另一个表

如何从php中的mysql数据库获取最后一个插入ID?

如何插入 ID +1 并获取最后一个 ID?

如何获取使用 Dapper 输入的最后一个 ID?

MyBatis ...在循环“foreach”中获取最后一个插入ID

从多个插入中获取最后一个 id

如何从 C# 中的数据库中获取最后一个 id

laravel 8:插入方法在 eloquent 中获取最后一个插入 id(İnsert 方法)