Hay una forma facil de hacerlo con php y sin mysql (para no atormentar mucho el cerebro)
Ese tipo de diseño se llama modular, te voy a hacer un paralelo con viejo sistema de frames para que veas que es casi casi lo mismo.
En frames tenias un index.html con encabezados y llamabas a todos los frames, vamos a hacer lo mismo con PHP
Paso 1: todos los encabezados, guardalos en un archivo top_page.php
Paso 2: El titulo de la pagina con su menu lo metes en un archivo header.php
Paso 3: El footer de la página lo metes en un archivo footer.php
¿Y ahora como lo meto eso en mis mil paginas?
supongamos tienes homepage.php, le pones las siguientes lineas
Código PHP:
<?php include("top_page.php"); ?>
<?php include("header.php.php"); ?>
Aqui va toooodo el texto que antes tenia en el frame del contenido
<?php include("footer.php"); ?>
Lo mismo para todas las páginas de esa forma cada vez que modificas header.php se alterará para tooooodas las cochocientasmil páginas