从mysqli_insert_id获取多个ID并将其插入URL

时间:2019-09-05 12:08:10

标签: php mysql

我有一个预订表,该表可以一次在数据库中的表中插入多行。并且对于每行都有其自己的ID(会自动生成)。 我想做的是通过使用(mysqli_insert_id)捕获ID来获取最后插入的行,并将它们分配给$ last_id,然后将其插入到URL中,稍后我可以使用它来显示最近添加的所有行。 但是,它继续从receive2页面的URL中仅获取一个id,而如果我从表单页面回显它们,则它能够显示最后插入的行的所有id。

还有其他方法可以在URL的一个变量中插入多个ID? 谢谢

<?php

$arr = array();
$arr1 = array();

for ($i=0; $i < $count; $i++) {
    $name_query = 'name'.$i ;
    $age_query = 'age'.$i ;
    array_push($arr,$_POST[$name_query]);
    array_push($arr1,$_POST[$age_query]);
}

for ($i=0; $i < $count; $i++) {
    $curr_name = $arr[$i];
    $curr_age = $arr1[$i];
    $user_id = $_SESSION['s_id'];
    $query = "INSERT INTO orders(ferry_id,user_id,user_name, 
                                user_age, source, destination,date,cost) 
                VALUES('$selected_ferry', '$user_id' , '$curr_name', 
                        '$curr_age', '$source', '$destination', now(),$cost)";

    if(mysqli_query($connection, $query)){

        $last_id = mysqli_insert_id($connection);
        $fetch_id = "SELECT * FROM orders WHERE order_id = '$last_id'";
        $result = mysqli_query($connection,$fetch_id);  
        while($res = mysqli_fetch_array($result)) {  
            $hell = $res['order_id'];
            $hell = $res['order_id'];   

        }
        header("location:receipt2.php?order_id1=$hell"); 
    }
?>

1 个答案:

答案 0 :(得分:0)

更改

$last_id = mysqli_insert_id($connection); 

$last_id[] = mysqli_insert_id($connection); 

$last_id数组将包含所有插入的ID。由于要将这些内容传递给另一个页面,因此需要将它们放入一个会话变量中,然后可以在下一页上进行检索。您无法通过URL传递数组。