La tabella viene aperta nel secondo if
codice:
if (category_press == false) {
dopo il while.

Nel codice che ho postato mancano in realtà gli altri if per le altre categorie, una volta che parte il while devo individuare e separare le categorie, questo sempre perchè mi servono delle celle ordinate per categoria.

Se chiudessi il table dopo il while non saprei quale sto chiudendo o quanti ne devo chiudere dato che alcune categorie potrebbero non essere presenti.