php - 将 id 从一个表格带到另一个表格并插入另一个表格

标签 php mysql sql mysqli

我有 3 张 table :list1、蔬菜、list2
在 pag1.php 中,我在“list1”表中插入值,从这里我携带最后插入的 id(fruitid) 并将其携带到下一个表单 page2.php。在这个页面中,我有一个复选框形式的项目列表,显示在“蔬菜”表中,用户可以从这里选择保存在第三个表“list2”中的多个值。我想要做的是将水果 id 从第一页带到最后一页,并将其插入第三个表“list2”中。 (例如,如果用户从复选框中选择了 3 个值,那么这 3 个值应该保存在“list2”表的 3 行中,每行都有fruitid。

TableView
我拥有的
list1 表

id   fruit
1    mango
2    apple

蔬菜 table
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 页面以存储值

插入.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>";
            }
    }
?>

问题是直到 page2 的 url 我得到 id 但在那之后我无法以适当的方式继续它

最佳答案

page2.php 上的表单应该有它的 Action 值 action="insert.php?id=<?php echo $_GET['id'];?>"
在 insert.php $fruitid = $_GET['id'];

关于php - 将 id 从一个表格带到另一个表格并插入另一个表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26979394/

相关文章:

尝试使用 CodeIgniter 和 MongoDB 驱动程序将集合插入 MongoDB 时出现 PHP 错误

mysql - 比较同一列中的两个值

mysql - 一对一关系还是使用同一张表?

mysql - 寻找 SQL 查询的替代方案

php - 我应该如何将一些 javascript 集成到 php 应用程序中?

php - 根据下拉选择自动填充文本字段,其中所有值都来自 MYSQL 表

php - 在 Magento 中获取类别 URL 键

mysql - 如何创建具有多值属性的单个元组?

mysql - 在mysql中选择重复的ID

mysql - 如何在 MySQL 中正确地对 2 列查询求和