mi scuso ma poco ho capito del tuo problema, ma da quel poco che ho capito non vedo cosa centra PHP con tutto questo!

Non è certo PHP che ti fa l'impaginazione, non è PHP che fa in modo che stampi un'instestazione, una tabella e un piè di pagina, questo mi sembra più che altro un problema che hai con il codice HTML della tua pagina.

PHP si limita a stamparti 31 righe per tabella solo perché gli hai detto di farne 31 e poi fare una nuova tabella, al limite puoi cercare di trovare quanti caratteri massimi ogni campo può contenere per prevedere se devi fermarti a 30 righe visto che hai un campo molto lungo o meno.

Inutile dire che queste soluzioni sono "bricolage".