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>";
}

または、誰かが私がやりたいことをするためのより良いコードを持っているなら、さらに良いでしょう。

4

1 に答える 1

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
}
于 2012-07-02T00:35:30.073 に答える