在 php 中为一件事添加多个记录


Adding multiple records for one thing in php

我目前有一个名为paper的表格,其中包含用户上传到我的系统的每篇论文的所有信息。我还有一张叫paper_topics的桌子;这是为了保存名为 topic 的表中的paper_id及其topic_id。但是,我不确定如何使用PHP允许用户选择多个主题,然后将它们与paper_id一起提交到paper_topics表中。

这是我上传论文的代码。

if(!is_dir("paper")) {
mkdir("paper");
}
function savedata(){
    global $_FILES, $_POST, $putItAt;
    $sql = "INSERT INTO `internetcoursework`.`paper` (
    `paper_id`, 
    `username`,
    `title`, 
    `abstract`, 
    `filelocation`, 
    `date_added`) 
    VALUES (NULL,'".mysql_real_escape_string($_POST['username'])."' , '".mysql_real_escape_string($_POST['title'])."',
    '".mysql_real_escape_string($_POST['abstract'])."', '".mysql_real_escape_string($putItAt)."', CURDATE());";
    mysql_query($sql);
    }
$putItAt = "paper/".basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FIleS['uploadedfile']['tmp_name'],$putItAt)) {
savedata();
header("location: listfiles.php");
echo "you have succesfully uploaded";
}else { 
if(copy($_FILES['uploadedfile']['tmp_name'],$putItAt)) {
savedata();
    header("location: listfiles.php");
    } else {
        echo "you totally failed";
        }
        }

?>
'

如果我正确理解您的请求("选择多个主题,然后将它们与paper_id一起提交到paper_topics表中"),则基本思想是将多选表单元素添加到表单中(就像这个 http://onlinetools.org/tricks/using_multiple_select.php 一样),然后使用该发布值将行插入paper_topics表中。 您需要先插入纸张并获取纸张 ID ( http://php.net/manual/en/function.mysql-insert-id.php )

这能回答你的问题吗?