2012-03-28 137 views
0

我想爲我的圖像上傳表單設置一個默認圖像。在數據庫中,我有「deafult_image」列,默認情況下它將設置爲1,如果圖像不是默認值,則設置爲0。設置默認圖像

我現在的問題是我可以將行更新爲1以使圖像成爲默認圖像,但如果另一圖像存在並且默認爲「1」,那麼我將擁有2個默認圖像。我如何更新我的默認圖像,但也同時更改當前的默認圖像爲0,使其不再默認。

media_id列是唯一的。
link_id不是,可以爲任何給定的link_id有多個圖像。

這是我想出的更新行以使圖像默認。

$media = $_GET['media_id']; 
$media_id = '1'; 
$sql = "select * FROM images where media_id = '$media'"; 
$result = mysql_query($sql) or die(mysql_error()); 
while($row = mysql_fetch_array($result)){ 
mysql_query("UPDATE images SET default_image='$media_id' where media_id = '$media'") ; 
} 

我應該怎麼做,以發現是否具有相同link_id另一個圖像存在,它從1改爲0,如果它是默認的。每個link_id總是有一個默認圖像,所以我需要更新到當前的默認圖像。

另外我知道我需要驗證,這只是爲了測試。

+0

use REPLACE i而不是更新 – 2012-03-28 04:23:54

回答

1

這將每幅圖像重置爲0

$sql = "UPDATE images SET default_image='0'"; 

這會將您的相關圖像設置爲默認值

$sql = "UPDATE images SET default_image='1' where media_id = '$media'"; 
+0

謝謝,效果很好。我正在把它變得更復雜,然後它就成爲了。 – chris 2012-03-28 04:44:04

1

如果我理解正確。所以你只需要找到當前的默認值,將其設置爲0,並將新的默認值設置爲1. ,如果您擔心會發生某種異常,並且您無法設置新的默認圖像,則可以保存當前的默認值默認圖像中的變量,設置新的默認圖像,然後找到它的ID(保存在變量)以前的默認圖像,並將其設置爲0。

+0

是的,這是完全正確的。我會看看我能想出什麼。 – chris 2012-03-28 04:30:09