我有一个预订表,该表可以一次在数据库中的表中插入多行。并且对于每行都有其自己的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");
}
?>
答案 0 :(得分:0)
更改
$last_id = mysqli_insert_id($connection);
到
$last_id[] = mysqli_insert_id($connection);
和$last_id
数组将包含所有插入的ID。由于要将这些内容传递给另一个页面,因此需要将它们放入一个会话变量中,然后可以在下一页上进行检索。您无法通过URL传递数组。