2011-06-12 35 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

相關問題