php - 对我的问题的任何建议或解决方案,将下拉列表中的选定列表项注入 php、mysql 中的其他表
问题描述
在 php 和 mysql 中处理一个小型图片库项目。该项目有两个表。专辑(albumId 和专辑名称)和画廊(id、imageName、albumId、img_name)。因此,当用户需要创建一个图库时,他们需要输入所有信息,如标题、专辑名称和图像。我能够完成大部分工作,我被卡住的部分是插入下拉列表,在我的情况下是专辑。这是我的 add_photo.php
<!--Adding Post Area-->
<form action="add_photo_check.php" method="POST" enctype="multipart/form-data">
<?php
if(isset($_SESSION['message']))
{
echo $_SESSION['message'];
unset($_SESSION['message']);
}
?>
<!--Form for post-->
<div class="form-group">
<label for="posttitle">
<h5>Photo Title</h5>
</label>
<textarea name="imageName" class="form-control" placeholder="photo title.." ></textarea>
</div>
<div class="form-group">
<label for="album">Select Album</label>
<select class="form-control" name="albumId" id="album">
<option>Select Album</option>
<?php
$sql = "select * from album";
$res = mysqli_query($conn,$sql);
while($row=mysqli_fetch_assoc($res)){
echo"<option value=\"" .$row['albumId'] . "\" >" .$row['albumName']."</option>\n";
}
?>
</select>
</div>
<div class="form-group">
<label for="uploadimage">
<h5>Upload image</h5>
</label>
<div class="btn">
<input type="file" name="image">
</div>
</div>
<input type="submit" value="Publish" name="publish" class="btn btn-primary">
</form>
</div>
这是我的函数文件 add_photo_check.php
<?php
include "includes/header.php";
if(isset($_POST['publish']))
{
$title=$_POST['imageName'];
$title=mysqli_real_escape_string($conn,$imageName);
$title=htmlentities($imageName);
$id=$_POST['albumId'];
$id=mysqli_real_escape_string($conn,$albumId);
$id=htmlentities($albumId);
$uploadOk = 1;
$img_name = $_FILES['image']['name'];
$errorMessage = "";
if($img_name != "") {
$targetDir = "images/upload/";
$img_name = $targetDir . uniqid() . basename($img_name);
$imageFileType = pathinfo($img_name, PATHINFO_EXTENSION);
if(strtolower($imageFileType) != "jpeg" && strtolower($imageFileType) != "png" && strtolower($imageFileType) != "jpg") {
$_SESSION['message']="<div class='alert alert-danger'> Sorry, only jpeg, jpg and png files are allowed!</div>";
$uploadOk = 0;
}
if($_FILES['image']['size'] > 100000){
$_SESSION['message']="<div class='alert alert-danger'> Image is too big to upload!</div>";
header("Location: add_photo.php");
}
if($uploadOk) {
if(move_uploaded_file($_FILES['image']['tmp_name'], $img_name)) {
//image uploaded okay
}
$sql="insert into gallery (title, id, img_name) value('$imageName','$albumId', '$img_name')";
$res=mysqli_query($conn,$sql);
if($res)
{
$_SESSION['message']="<div class='alert alert-success'> Post Successfuly Published</div>";
header("Location: add_photo.php");
}
else
{
$_SESSION['message']="<div class='alert alert-danger'> Something went wrong!</div>";
header("Location: add_photo.php");
}
}
}
}
?>
任何帮助将不胜感激。谢谢你。
解决方案
推荐阅读
- javascript - 反应看到除了数组之外的所有东西
- visual-studio - 在 Visual Studio 中发布 .NET Core 网站期间如何重新启动 IIS 网站?
- networking - 如何为corda网络创建自签名证书?
- postgresql - pg-promise - 不解决多个查询
- postgresql - 在任何删除实际发生之前执行触发器
- python-3.x - po2html 缺少 html 模板
- python - Python:获取子列表中的每个第一个、第二个、第三个元素
- java - Java 代码如何在 Jenkins 构建期间读取 Jenkins Global 凭据?
- sql - 不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。(子查询)重复
- python - 在python(jupyter)中复制一个变量/使用具有相同变量的不同函数