obviamente tu problema está en el modelo de datos, donde debes de tener una relación muchos a muchos con categorías, lo que equivale a 3 tablas, sinceramente no entiendo el porque de tu modelo actual, en dado caso para poder limitar y paginar por un ID especifico deberías hacer un filtro con LIKE en la consulta, eso con los consecuentes problemas como por ejemplo:
si intento buscar "17" usaría: WHERE categoría LIKE '%
17%'
Pero coincidirá con posibles cadenas 17
0, o
117, etc, etc. etc.
otra opción es usar expresiones regulares, suerte