Hola yo las paginas las separo en varias partes y carpetas separadas:
En el directorio raíz creo un fichero index.php que contiene algo asi:
index.php
Código PHP:
<?php
//Sesiones
session_start();
$_SESSION['usuario'] = 'usuarios';
//Constantes
define("TITULO_WEB", "Tomaa!!!!!!!"); //Titulo de la web
//Meta datos de la web
define("META_DESCRIPTION", "");
define("META_KEYWORDS", "");
define("META_AUTOR", "Aitor Martin");
define("COPY_WEB", "© 2010-".date('Y')." Copy.....");
define("COPY_WEBMASTER", "");
//Includes
include_once "lng/lng.php"; //Cargamos lel motor de los idiomas
include_once "datos/data.php"; //Conectamos con la base de datos de la web
include_once "datos/sql.php"; //Cargamos las funciones de las consultas SQL de la web
include_once "funciones/funciones.php"; //Cargamos las funciones de la web
include_once "css/aspecto_001/index.php"; //Plantilla a utilizar:
?>
Como puedes ver en la última linea del código anterior el documento echo en html y CSS lo guardo en css/aspecto_001/index.php, si he creado mas variantes de la web como puede ser un motivo navideño o veraniego o lo que se te ocurra lo guardas en otras carpetas css/aspecto_002/index.php o css/aspecto_003/index.php y luego modificando el index o me jor ahun desde una DB puedes modificar el aspecto en custión de segundo.
Código PHP:
<div id="site">
<div class="center-wrapper">
<div id="header">
<div class="right" id="toolbar"><?php dame_idiomas(); ?></div>
<div class="clearer"> </div>
<div id="site-title"><?php dame_cabecera (); ?></div>
<div id="navigation"><?php dame_menu_superior (); ?></div>
</div>
<div class="main" id="main-two-columns">
<div class="left" id="main-left"><div id="contenido"><?php dame_contenido (); ?></div></div>
<div class="right sidebar" id="sidebar"><?php dame_barra_lateral (); ?></div>
<div class="clearer"> </div>
</div>
<div id="footer">
<div class="content-separator"></div>
<div class="left"><?php echo COPY_WEB; ?></div>
<div class="right"><?php echo COPY_WEBMASTER; ?></div>
<div class="clearer"> </div>
</div>
</div>
</div>
</body>
En este último código como se puede ver los diferente elementos a mostrar les llamo mediante funciones <?php dame_contenido (); ?>....
Mediante este codigo hago una carga dinamica del contenido de la web.
Código PHP:
function dame_contenido ()
{
if (isset($_GET['id']))
{
switch ($_GET['id'])
{
case 'inicio': dame_noticias ();break;
//Valor por defecto
default: dame_noticias ();break;
}
}
else
{
dame_noticias ();
}
}
Luego mediante este otro codigo muestro el contenido:
Código PHP:
function dame_noticias ()
{
$lineas = dame_numero_registros ("articulo", "WHERE id_lng='".$_SESSION['lang']."'");//Calculamos cuantas lineas tiene la tabla.
$link=Conectarse(); //Abrimos la conexion.
$resultado = sql_noticias ($_SESSION['lang']); //Adquirimos las noticias.
//Primero creamos un contador para saber cuantos cilcos ha echo el while. El while a mostrando las notias
//el if comprueva si es la úlima noticia, si es la última no muestra la linea que separa las noticias.
$i = 0;
while ($fila = mysql_fetch_assoc($resultado))
{
$i++;
echo
"
<div class='post'>
<div class='post-title'><h2><a href='#'>".$fila['titulo']."</a></h2></div>
<div class='post-date'>".$fila['fecha']."</div>
<div class='post-body'>".$fila['texto']."</div>
</div>";
if ($i < $lineas) echo" <div class='content-separator'></div>";
}
mysql_free_result($resultado); //Borramos el contenido de la variable donde hemos
//almacenado la consulta sql.
mysql_close($link); //Cierramos la conexion.
}
La función sql_noticias ($_SESSION['lang']); la tengo en otro en un archivo llamado datos/sql.php y lo he agregado con include en el index.php
Código PHP:
function sql_query ($consulta) //Esta función es la que realmente hace la consulta.
{
$query = mysql_query($consulta);
return $query;
}
function sql_noticias ($lng) //Esta función ordena las noticias por fecha descendente
//para mostrarlas en la web.
{
$consulta = "SELECT * FROM articulo WHERE id_lng='$lng' ORDER BY id_articulo DESC";
return sql_query ($consulta);
}
Te puede parecer un conco enrebesado el tipo de orden que utilizo, pero ami me va bien por que consigo separar el aspecto de la web, el codigo SQL y el codigo PHP en archivos separados, y asi si algun día tengo que cambiar el tipo de base de datos o cualquier cosas me resulta mas facil el acer las actualizaciones.
Un saludo