2011-06-12 105 views
1

我对PHP/MySQL相对较新,并且遇到了一个我无法弄清楚的问题。我搜索了这个网站,但找不到任何信息。将上传的图像文件与现有相册关联

我的问题很简单:如何将上传的图像文件与预先存在的相册相关联。

我在我的数据库中有两个单独的表:一个用于专辑,一个用于图像。我想要做的是有一个<option>下拉菜单检索用户的预先存在的相册,从而将albumID分配给图像数据库。

我已经用用户的相册成功地填充了一个下拉框,但不知道如何将所选ID插入图片表albumid

任何帮助将不胜感激。谢谢!

+0

欢迎来到SO!你有什么问题?弄清楚你的表单应该发送给后端?或者更多的问题是如何将上传的文件与数据库中正确的专辑相关联? – rzetterberg 2011-06-12 23:28:24

回答

1

当您从下拉selectd专辑,你可以重新载入页面,在URL中添加相册ID。然后您只需使用$_GET即可获取相册ID。

然后,当您上传图片时,在您的upload.php文件中,使用$_GET来检索相册ID。

将图像从上传临时目录成功移至其最终位置后,将图像URL添加到图像表并检索最后插入的行ID。拿这个ID并插入专辑表。

这是否回答你的问题? :)

+0

它使整体感和完美的作品。我无法相信这只是我忽略的一个简单的$ _GET。非常感谢你! – dystopia 2011-06-12 23:40:07

+0

@Matthew,没问题。只要记住标记答案为“接受”,如果它解决了你的问题 - 也许向上箭头,如果你找到答案有用:) – Steven 2011-06-12 23:43:16

0

假设你有album1,在图像表你可以使用下列内容:

UPDATE picturetable SET albumid = 'album1' WHERE ID = 'the_picture_id' 
0

好吧,假设你有文件上传正常工作,没有任何问题的相关图像数据插入到图像表:

<form method="post" enc-type="multipart/form-data"> 
    <select name="Albums"> 
     <option value="1">My First Album</option> 
     <option value="2">My Secret Album of Dirty Pictures</option> 
    </select> 

    <input type="file" name="MyFile" /> 
</form> 
在你的代码

,你会得到所选专辑的ID从POST变量中以下列方式,类似于您如何访问文件上传信息。然后你同时输入到你的mysql表中。

<?php 

    $AlbumId = $_POST["Albums"]; 
    $Picture = $_FILES["MyFile"]["name"]; 

    $Sql = "INSERT INTO Pictures (AlbumId, Picture) VALUES ($AlbumId, '$Picture')"; 
    mysql_query($Sql); 
?> 
+0

-1 SQL注入漏洞! – Johan 2011-06-12 23:42:17

+0

@Johan,我认为Goblyn27只是提供了没有任何检查的代码来演示一个可能的解决方案。没有意义。只需评论一下,也必须检查SQL注入。 – Steven 2011-06-12 23:46:34

相关问题