Kueri ini menghapus semua kategori dari posting Anda karena Anda mengatakannya kepada Anda di mana klausa. Anda pada dasarnya mengatakan, hapus setiap catatan dari tabel posts_categories yang memiliki id posting =$post_id. Anda perlu menambahkan klausa where Anda untuk membuatnya lebih spesifik.
$delete_id = mysqli_query($mysqli,"DELETE FROM posts_categories WHERE post_id = '" . $post_id . "' AND categoryID = '". $query_cat_id[$x] ."'");
Ini sekarang mengatakan hal yang sama yang Anda lakukan tetapi menambahkan kualifikasi tambahan. Hapus hanya baris dari tabel di mana post_id adalah $post_id dan ID kategorinya (nilai kotak centang Anda yang tidak dicentang).
Penafian:Saya menebak di mana Anda menyimpan ID kategori di fungsi Anda($query_cat_id[$x]).