否则/如果比较问题

时间:2012-07-02 00:07:07

标签: php

我有一个金发碧眼的时刻,这是我的问题:

分解:

我有一个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>";
}

或者如果某人有更好的代码来做我想要的更好的代码。

1 个答案:

答案 0 :(得分: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;

如果您此时知道DB中的image_name,隐藏字段值是否会相同?在这种情况下应该足够比较old_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
}