2015-12-07 2 views
0

Я пытался обновить 3 столбца (product_image1, product_image2, product_image3) из изображений таблицы. Когда я добавляю продукт, я выбираю все три пути изображения и путь к изображениям, которые будут вставлены в таблицу. Но когда я редактирую продукт и выбираю только 1 или 2 изображения из трех, значит, изображение, которое не было выбрано, также обновляется, а нулевая запись вставляется в таблицу для этого столбца. какое условие я могу использовать в противном случае, чтобы избежать обновления поля изображения, которое я не выбираю?обновление 3 пути изображения в sql сразу

 if (($image_extension == "jpg" || $image_extension == "png" 
|| $image_extension == "jpeg")){ 
     UPDATE product_images SET product_image1='$image', 
    product_image2='$image2', 
    product_image3='$image3' 
    where product_id= '$pro_idd' 
     } 

ответ

0

Предположим, что ваш запрос SELECT, как:

SELECT product_image1,product_image2,product_image3 FROM product_images WHERE product_id = 1 

невозможно установить текст в путь по умолчанию для загрузки файла элемента формы по соображениям безопасности. Таким образом, вы должны сохранять значения по умолчанию в другом месте.

Set

$_SESSION["product_image_1"] = $product_image_1; 
$_SESSION["product_image_2"] = $product_image_2; 
$_SESSION["product_image_3"] = $product_image_3; 

После отправки формы, если элементы загрузки файлов равны нулю, а затем использовать соответствующие значения переменной сессии.

Альтернативой переменной сеанса вы можете добавлять скрытые входы для каждого изображения.

Ваше состояние будет как

if($_POST["file_upload_product_image_1"]["name"] != ""){ 
    $product_image_1 = $_POST["file_upload_product_image_1"]; 
}else{ 
    $product_image_1 = $_POST["hidden_product_image_1"];  
} 

Затем обновите три колонки новых значений.

+0

Thanku я постараюсь это сэр .. –

+0

Спасибо и я получил представление от вашего предложения, которое гораздо проще .. я отвечаю сейчас .. –

0

Он обновляет только путь к изображению, который выбран.

$ress = "SELECT * FROM product_images WHERE product_id ='$pro_idd'"; 
      $ris = $obj->fetch_single($ress); 
      $img1 = $ris['product_image1']; 
      $img2 = $ris['product_image2']; 
      $img3 = $ris['product_image3']; 
     if($_FILES["image"]["name"] != ""){ 
     $image = str_replace(" ", "", $_FILES['image']['name']); 

    }else{ 
     $image = $img1;  
    } 

    if($_FILES["image2"]["name"] != ""){ 
     $image2 = str_replace(" ", "", $_FILES['image2']['name']); 

    }else{ 
     $image2 = $img2;  
    } 

    if($_FILES["image3"]["name"] != ""){ 
     $image3 = str_replace(" ", "", $_FILES['image3']['name']); 

    }else{ 
     $image3 = $img3;  
    } 
Смежные вопросы