2012-07-02 6 views
0

У меня блондинка момент, вот моя проблема:Else/Если сравнивать вопрос

Разбейте:

У меня есть страница редактирования для 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; 

Если вы знаете имя изображения в БД в этот момент, не будет ли скрытое значение поля одинаковым? В этом случае должно быть достаточно сравнения предыдущее_имя и 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

Смежные вопросы