Man, I am a shame that I couldn't understand the first tiem it is clear Now I will make an extra effort to avoid you coming to simple language. I understood it I just need to add the other condition to the JOIN.
WHERE category_id = ".$idc."
As you were going to the steps in the last post, I wonder why not AND instead of WHERE in the INNER JOIN after ON. It seems that the language has change.

FROM products INNER JOIN categories
ON categories.id = products.category_id
WHERE category_id = ".$idc."
Why not

FROM products INNER JOIN categories
ON categories.id = products.category_id
AND category_id = ".$idc."
it just a question Mr.

From what I understand AND means that both of the conditions need to be true categories.id = products.category_id AND category_id = ".$idc.".

Now I can see you have put WHERE what's is the underline of changing?

The only thing I can figure out is using where to make the sentence Longer in case there is more condition and use AND after where or even have other possibilities and other options to a different query.