Tom, this is some work, but much less db intensive. Think of the bits that could be "includes" and pushed as text (HTML) to a directory which PHP can read. You may do this as calculations in the database or use PHP on occasion to update any pages that may need to change. Also push your value-lists to includes that might be used by multiple pages (list of states, for example in forms that need a standard select/option to call.
In your main page(s) you can call the "text" includes as needed. No need to "read", just use include(''); in your php (using the name and/or path if necessary).
HTH, I do this a lot to speed up my websites (less pull from the dbs).
That is helpful, if you have a couple sample examples to share that would be great