PHP SQL обновление продукта в нескольких категориях

Я хочу добавить товар в несколько категорий в php. После большого количества поиска / исследований по этому вопросу я могу добавлять товары в несколько категорий, но они не работают при обновлении / изменении категорий товаров на странице обновления.

Моя структура БД выглядит так:

PRODUCTTABLE
 _____________________________________________
|    pid    |      pname   | price | pdetails |
-----------+---------------+-------+----------+

CATEGORYTABLE
 ______________________________________
|    id    |      catname   | catslug |
-----------+---------------+----------+

PRODUCT2CAT
 ____________________________
|  product_id   |   cat_id  |
-----------+----------------+

Код, используемый на странице ДОБАВИТЬ ПРОДУКТ: (только для вопроса)

<form method="post">
...........
echo "<input type=\"checkbox\" name=\"pcateg[]\" value=\"$catid\" /> $catnm<br />";
...........

if(isset($_POST["submit"])) {
.........
.............
$pc2=$_POST["pcateg"];

$query1 = "insert into producttable(pname,price,image,pdetails) values('$pn','$p','$img','$pd')";
mysql_query($query1);
$prdid = mysql_insert_id();



foreach($pc2 as $key=>$values)
{
$query2 = "INSERT INTO product2cat(product_id,cat_id) VALUES('$prdid','$values') ";
$result2 = mysql_query($query2);
}

}

Когда я добавляю продукт, код работает хорошо и вставляет идентификатор выбранной категории в таблицу PRODUCT2CAT.

Код, используемый на странице обновления продукта:

<form method="post">
...........
    while($ans=mysql_fetch_array($cresult))
    {
        $selected = "";
        $catId = $ans['id'];
        $catNm = $ans['catname'];

        if ($catId == $categ) {
        $selected = "checked";
        }

    echo "<input type=\"checkbox\" name=\"pcateg[]\" value=\"$catId\" $selected /> $catNm<br />";
    }
........
    if(isset($_POST["submit"])) {
    .........
    .............
    $query1="UPDATE producttable SET pname='$pn', price='$p', image='$img', pdetails='$pd' WHERE pid=$prid";
    mysql_query($query1);

    foreach($pc2 as $key=>$values)
    {
    $query2 = "UPDATE product2cat SET cat_id='$values' WHERE product_id=$prid";
    $result2 = mysql_query($query2);
    }
  }

Обновление $ query2 не работает.
Или я должен использовать 2 запроса 1-й, чтобы удалить старые записи, а затем вставить новую запись. Как использовать запрос в такой ситуации, чтобы удалить / обновить выбранные категории при обновлении продукта.

Я также хочу отображать старые категории в виде предварительно установленного флажка на странице обновления. $ selected = "флажок" Работает с одной категорией, но как это сделать при многократной проверке.

Ответы на вопрос(1)

Ваш ответ на вопрос