2012-07-02 49 views
0

我有一個金髮碧眼的時刻,這是我的問題:否則/如果比較的問題

細分:

我有5張圖片的編輯頁面,當你點擊圖片就可以消失,一個上傳新圖像框出現了。我現在正在對着牆上的圖像代碼更新撲向我的頭。我需要一些幫助來了解如何檢查圖像是否已更改,或者是否已選擇圖像進行刪除並刪除該圖像。

因此,它就像這樣現有圖像>點擊更改或複選框刪除,如果更改,然後更新新圖像,併發布回聲說圖像更新,如果圖像沒有改變,則什麼都不做或做一些事情,如果沒有改變和刪除已被檢查。

的下面的代碼塊將被複制給每個圖像:

$image_new = "test_new_image"; // New file name 
$image_hidden = "test_db_image"; // This is the existing image name in a hidden input 
$image_db = "test_db_image"; // Image name in the DB 

if ($image_hidden == $image_db) { 
    echo "leave image as is in the db<br>"; 
} elseif ($image_new != $image_db) { 
    echo "change image in the db and delete existing image<br>"; 
} else { 
    echo "New image!<br>"; 
} 

或者如果有人有一些更好的代碼做什麼,我想會更好。

回答

0
//check if variables are empty, else set them null 
$image_new = (!empty($image_new)) ? $image_new : null; 
$image_db = (!empty($image_db)) ? $image_db : null; 

如果您在此時知道數據庫中的image_name,隱藏字段值是不是相同?在這種情況下應該是足夠比較舊名稱和NEW_NAME這樣的:

//image_new is the same as image_db 
if($image_new === $image_db){ 
    //leave image as is in the db 
} 
//there is a new image and it's not the same as image_db 
elseif($image_new !== null && $image_new !== $image_db){ 
    //change image in the db and delete existing image (image_db) 
} 
//there is a new image, and there is nothing in db, yet 
elseif($image_new !== null && $image_db === null){ 
    //new image 
} 
//anything else 
else{ 
    //no image 
} 
+0

是的,但隱藏的名字被用於刪除圖像,那裏沒有上傳圖像,並沒有改變圖像直接刪除圖像。 – Marco