我想知道用户如何添加多个图像和新数据。例如,在我正在进行的网站上,您可以进行设计,完成后将其上传到数据库以及设计的电子邮件地址标题,关键字等。
我想知道如何让用户创建更多设计并将它们全部命名在同一个数据库中,只需使用电子邮件地址检索它们即可。我想限制每个电子邮件地址14个设计。但是使用我现在拥有的数据库和代码,它只允许一个设计它只是在每次创建新设计时更新。
有人可以告诉我如何做到这一点吗?如果您需要更多信息,请询问,谢谢。
这是我的代码:
$query='UPDATE shirt_table SET images="'.$_FILES['file4']['name'].'", images1="'.$_FILES['file1']['name'].'", images2="'.$_FILES['file2']['name'].'", images3="'.$_FILES['file3']['name'].'"
WHERE email= "'.$_SESSION['email'].'"';
if ($mysqli->query($query) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$mysqli->close();
答案 0 :(得分:0)
我可以看到上传的文件有不同的名称,您必须在内部将所需的文件名列为数组并以此方式循环播放。
您需要注意的另一件事是当用户已经上传了13个设计并且想要添加4个设计时。您需要决定是拒绝全部还是仅添加一个。这是一个例子,我相信你可以根据自己的口味进行修改。
/*
CREATE TABLE `shirt_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email_address` varchar(50) DEFAULT NULL,
`image_path` varchar(100) DEFAULT NULL,
`date_created` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
)
*/
<?php
include("lib/dbcnx.inc.php");
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
$begin = 1;
$end = 5;
$max_uploads = 14;
$sel_query = "select count(*) from shirt_table where email = '".$_SESSION['email']."'";
$result = $mysqli->query($sel_query);
echo $sel_query."<br/>";
$numrows = $result->num_rows;
$counter = 0;
if ($numrows > 0) {
$row = $result->fetch_row();
$counter = $row[0];
}
if ($counter < $max_uploads) {
$saved_dir = "designs/";
$design_files = array($_FILES['file4']['name'], $_FILES['file3']['name'], $_FILES['file2']['name'], $_FILES['file1']['name']);
$query = "INSERT INTO shirt_table (email, image_path, date_created) values ";
for ($i=$begin; $i<=$end; $i++) {
$query = $query ."('".$email."', '".$saved_dir.$design_files[$i-$begin]."', now())";
if ($i < $end)
$query = $query.", ";
}
echo $query."<br/>";
if ($mysqli->query($query) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
$mysqli->close();
} else {
echo "You have exceeded ...";
$mysqli->close();
}
?>