Den här frågan tar bort alla kategorier från ditt inlägg eftersom du talar om för det med dig where-klausulen. Du säger i huvudsak, ta bort varje post från tabellen posts_categories som har ett post-id =$post_id. Du måste lägga till din where-klausul för att göra den mer specifik.
$delete_id = mysqli_query($mysqli,"DELETE FROM posts_categories WHERE post_id = '" . $post_id . "' AND categoryID = '". $query_cat_id[$x] ."'");
Detta säger nu samma sak som du gjorde men lägger till ett extra kval. Ta bara bort rader från tabellen där post_id är $post_id och kategorins ID är (värdet på din avmarkerade kryssruta).
Ansvarsfriskrivning:Jag gissar på var du lagrar dina kategori-ID:n i din funktion ($query_cat_id[$x]).