php - 从一个表中获取ID并使用php将其存储到另一个表中

标签 php mysql sql mysqli

我有一张两页的表格。第一页从用户获取有关属性的输入,并将其存储在retailer_add_property表中。此页之后,用户将被重定向到下一页admin_add_property_images.php,在该页中,用户可以存储在上一页中输入的属性的多个图像(表名为propertyimages)。我要做的是获取将在第一个表单中创建的表的最后一个插入id,并将其存储在propertyimages表中
表格一:admin_add_property.php

<form class="form-horizontal" role="form" action="admin_insert_property.php" enctype="multipart/form-data" method="post">
    <div class="form-group">
        <label class="col-lg-3 control-label">Property name:</label>
            <div class="col-lg-8">
                <input class="form-control" name="propertyname" value="" type="text" required>
            </div>
    </div>

    <div class="form-group">
        <label class="col-md-3 control-label">Property Type:</label>
            <div class="col-md-8">
                <select name="cancellation"  id="cancellation"  required>                       
                    <option value="yes">Yes</option>            
                    <option value="no">No</option>                  
                </select>               
            </div>
    </div>


    <div class="form-group">
        <label class="col-md-3 control-label"></label>
            <div class="submit">
                <input class="btn btn-primary" value="Save " type="submit" name="submit">

                <span></span>
            </div>  
    </div>

</form>

“admin_insert_property.php”
<?php
include('admin_session.php');

$con=mysqli_connect("localhost","qwe","pwd","qwe");

if (mysqli_connect_errno()) 
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

$propertyname = mysqli_real_escape_string($con, $_POST['propertyname']);
$propertytype = mysqli_real_escape_string($con, $_POST['propertytype']);


$sql="INSERT INTO retailer_add_property (propertyname,propertytype) VALUES ('$propertyname','$propertytype')";

if (!mysqli_query($con,$sql)) 
    {
        die('Error: ' . mysqli_error($con));
    }

mysqli_query($con, $sql);   

header("Location: admin_add_property_images.php");

mysqli_close($con);

?>

第二个表单:admin_add_property_images.php
<form class="form-horizontal" role="form" action="admin_insert_property_images.php" enctype="multipart/form-data" method="post">
    <div class="form-group">
        <label class="col-md-3 control-label">Upload Image:</label>
        <div class="col-md-8">
            <input class="form-control" name="file" id="file" value="" type="file"  required>
        </div>
    </div>

    <div class="form-group">
        <label class="col-md-3 control-label"></label>
            <div class="submit">
                <input class="btn btn-primary" value="Save " type="submit" name="submit">
            </div>  
    </div>

</form>

admin_insert_property_images.php属性
<?php
include('admin_session.php');

$con=mysqli_connect("localhost","qwe","pwd","qwe");
// Check connection
if (mysqli_connect_errno()) 
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
//Replace $mysqli with your $con then. $con->query($sql);   
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($extension, $allowedExts))  
    {
        if ($_FILES["file"]["error"] > 0) 
            {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            } 
        else 
            {
                if (file_exists("propertyimages/" . $_FILES["file"]["name"])) 
                    {
                        echo $_FILES["file"]["name"] . " already exists. ";
                    } 
                else 
                    {

                        $imagepath = "propertyimages/" . $_FILES["file"]["name"];
                        move_uploaded_file($_FILES["file"]["tmp_name"], $imagepath);
                        $sql="INSERT INTO propertyimages(propertyimage) VALUES ('".$imagepath."')";
                        if (!mysqli_query($con,$sql)) 
                            {
                                die('Error: ' . mysqli_error($con));
                            }
                    }
            }
    } 
else    
    {
        echo "Invalid file";
    }
?>

我试着把身份证从一页带到另一页,但没有按我想要的方式进行。有人告诉我怎么做

最佳答案

使用mysqli_insert_id($con)功能将其保存在$_SESSION['']中,并通过在顶部添加session_start();在任何页面上使用。
**注意:**insert查询后使用mysqli_insert_id()函数;
看看你下面的任务部分
**文件名:**admin_insert_property.php“
看看那里的查询部分。一定是这样的

$sql="INSERT INTO retailer_add_property (propertyname,propertytype) VALUES ('$propertyname','$propertytype')";

if (!mysqli_query($con,$sql)) 
    {
        die('Error: ' . mysqli_error($con));
    }

mysqli_query($con, $sql);   

$_SESSION['insert_id']=mysqli_insert_id($con);
//save the value in the $_SESSION


header("Location: admin_add_property_images.php");

现在您可以在任何页面使用$_SESSION['insert_id'];,如果您
在顶部使用session_start();
查看此链接以获取更多信息http://php.net/manual/en/mysqli.insert-id.php

关于php - 从一个表中获取ID并使用php将其存储到另一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26297298/

相关文章:

php - Mysql num rows in while循环

mysql - 使用 NOT IN 运算符在 MySql 中选择问题?

sql - 如何在选择查询中递增

php - Laravel 5,按关系计数对列表进行分页和排序

PHP检查数据库表,如果值存在,运行循环生成唯一值

php - Doctrine2 oneToMany 关系 yaml

sql - SQL Server 中的数字散列函数?

php - 样式化 "order by desk"查询表

php - Mysql多表查询方法

php - 填写个人资料页面的最佳方法?