0

我正在尝试提交一个简单的 PHP 表单并将一些数据插入 MySQL,我的表是:

  • 类别:id,category_name
  • 表 1:category_id(FK)、标题、描述
  • table2:table1_id(FK)、文件类型、文件大小、文件日期、文件名
  • 形式:日期、标题、描述、类别(下拉)、上传文件(获取文件信息,如类型、分机、大小、文件名)

这是代码:

形式:

<strong>Fill up the form:</strong><br /><br>                
<form enctype="multipart/form-data" action="upfileone.php" method="POST">
    Date: <?php echo date("d-M-Y") ?>
        <p>Title:
            <input type="text" name="title" value="<?php echo $sel_filepage['file_title']; ?>" id="file_title" />
        </p>
        <p>Description:<br>
            <textarea name="description" rows="4" cols="24">
            <?php echo $sel_filepage['content']; ?></textarea>
        </p>
    Category:
    <select name="select_cat">
    <?php $cat_set = get_all_categs();
        while($category = mysql_fetch_array($cat_set)){
            $catname = $category['cat_name'];
            echo '<option value="'.$catname.'">'.$catname.'</option>';
        }
    ?>
    </select>
    <br><br>
    <label for="file">Choose File to Upload:</label>
    <input type="file" name="upfile" id="upfile" > <br /><br />
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <input type="hidden" name="filepage" value="<?php echo $_GET['filepage']?>">
    <input type="submit" name="upload" value="Add" class="pure-button pure-button-success">
    <a href="content.php?filepage=<?php echo $sel_filepage['id']; ?>" class="pure-button">Cancel</a>
</form> <!-- END FORM -->

动作文件:

    <?php
require_once("includes/functions.php");
// directory to be saved
$target = "server/php/files/";
$target = $target . basename($_FILES['upfile']['name']);
// gets info from FORM
$currentDate = date("Y-m-d");
$file_title = $_POST['title'];
$content = $_POST['description'];
$category = $_POST['select_cat'];
$upfile = ($_FILES['upfile']['name']);
// connects to db
$con = mysqli_connect("localhost", "root", "password", "database");
if(mysqli_connect_errno())
{
    echo "error connection" . mysqli_connect_error();
}
// insert to database
$sql = "INSERT INTO filepages (category_id,file_title,content)
VALUES ('$category','$file_title','$content')";
/*$sql2 = "BEGIN
            INSERT INTO filepages (category_id, file_title, content)
                VALUES ('$category','$file_title','$content')
            INSERT INTO fileserv (file_date)
                VALUES ($currentDate)
            COMMIT";*/
if(!mysqli_query($con, $sql))
{
    die('Error ' . mysqli_error());
}
echo "1 File Added <br>";
    if (file_exists("server/php/files/" . $_FILES["upfile"]["name"]))
      {
      echo $_FILES["upfile"]["name"] . " already exists. ";
      }
    else
      {
        insertFile( $_POST['filepage'], 
                    $_FILES["upfile"]["type"], 
                    ($_FILES["upfile"]["size"] / 1024), 
                    $_FILES["upfile"]["name"]);       
        move_uploaded_file($_FILES["upfile"]["tmp_name"],"server/php/files/" . $_FILES["upfile"]["name"]);
        echo "The FILE " . basename($_FILES['upfile']['name']) . " has been uploaded.<br>";
        echo "Stored in: " . "server/php/files/" . $_FILES["upfile"]["name"] . "<br>";
        echo "Upload: " . $_FILES["upfile"]["name"] . "<br>";
        echo "Type: " . $_FILES["upfile"]["type"] . "<br>";
        echo "Size: " . ($_FILES["upfile"]["size"] / 1024) . " kB<br>";
        echo "Temp file: " . $_FILES["upfile"]["tmp_name"] . "<br>";
      }
?>

它确实插入到两个表中,现在我的主要问题是如何从类别的下拉菜单中获取 ID 并插入到Filepages.category_id.

如何获取Filepages.ID数据并将其插入Fileserve

4

1 回答 1

0

所以你想要插入行的 ID。您可以简单地使用以下 php 函数http://www.php.net/manual/en/mysqli.insert-id.php

这个问题仍然应该移到stackoverflow

于 2013-07-30T08:54:50.483 回答