我有3个表:list1,vegetables,list2 在pag1.php中,我在“list1”表中插入值,从这里我携带最后插入的id(fruitid)并将其携带到下一个表单page2.php。在这个页面中我有一个复选框形式的项目列表显示在“vegetables”表中,从这里用户可以选择多个值保存在第三个表“list2”中。我想要做的是从第一页到最后一页携带水果ID并将其插入第三个表“list2”。 (例如,如果用户从复选框中选择3个值,则这3个值应保存在3行“list2”表中,每行都有fruitid。
表格视图 是)我有的 list1表
id fruit
1 mango
2 apple
蔬菜餐桌
id vegetables
1 potato
2 Cauliflower
我希望得到什么 list2表
id vegetableid fruitid
1 1 2
2 2 2
page1.php中
<?php
ob_start();
include('co_session.php');
$con=mysqli_connect("localhost","root","pwd","root");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if($_POST){
// escape variables for security
$fruit = mysqli_real_escape_string($con, $_POST['fruit']);
$sql="INSERT INTO list1 (fruit) VALUES ('$fruit')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
$fruitid= mysqli_insert_id($con);
header("Location: page2.php?id=$fruitid ");
mysqli_close($con);
}
?>
<form class="form-horizontal" role="form" action="" enctype="multipart/form-data" method="post">
<div class="col-md-6">
<div class="form-group">
<label class="col-lg-4 control-label">Country</label>
<div class="col-lg-6">
<input class="form-control" value="" type="text" name="fruit">
</div>
</div>
</div>
<div class="col-md-11">
<div class="form-group">
<center><input class="btn btn-primary" value="Next " type="submit" name="submit"></center>
</div>
</div>
</form>
第二步 提交第一个表单后,它会被重定向到page2.php,在那里获取id。例如url是page2.php?id = 1
<form class="form-horizontal" role="form" action="insert.php?id=<?php echo $_GET['fruitid'];?>" enctype="multipart/form-data" method="post">
<?php
$servername = "localhost";
$username = "root";
$password = "pwd";
$dbname = "root";
$con = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
echo "<label class='heading'>Select :</label></br>";
$sql = "SELECT * FROM vegetables";
$result = $con->query($sql);
while($row = $result->fetch_assoc()) {
echo " <input type='checkbox' name='vegetable[]' value='".$row['id']."'> '<label>' '".$row['vegetable']."' '</label>' <br>";
}
?>
</form>
第三步 此表单将重定向到insert.php页面以存储值
insert.php
<?php
ob_start();
include('co_session.php');
$con=mysqli_connect("localhost","root","pwd","root");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if(isset($_POST['submit']))
$fruitid = $_GET['fruitid'];
{
if(!empty($_POST['vegetable']))
{
$checked_count = count($_POST['vegetable']);
foreach($_POST['vegetable'] as $selected)
{
//echo "<p>".$selected ."</p>";
$sql="INSERT INTO list2 (vegetableid,fruitid) VALUES ('$selected','$fruitid')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
}
}
else
{
echo "<b>Please Select Atleast One Option.</b>";
}
}
?>
问题是,直到第2页的网址我得到了ID,但之后我无法以适当的方式向前推进
答案 0 :(得分:0)
page2.php上的表单应具有其操作值action="insert.php?id=<?php echo $_GET['id'];?>"
并在insert.php $fruitid = $_GET['id'];