ciao giacomo,

allora il compito non è semplice... soprattutto perchè da come mi sembra di capire devi sviluppare sia il lato front-end che quello back (admin).

Da un primo sguardo la struttura del db mi sembra corretta (...e non è poco...).

Il resto mi sembra molto meno corretto... soprattutto il fritto misto fra logica e HTML.

Ti dico come inizierei io senza complicare troppo il tutto.

Crea una cartella chiamandola "lib" all'interno della quale crei un file di configurazione e le varie classi di cui ti servirai e un file in cui fai il load di tutte le classi e del file di configurazione.

Il file di confidurazione (config.php) metti una lista di define in cui imposti alcuni parametri generali del tuo blog:

Codice PHP:
<?php
define
('HOST_DB','localhost');
define('NAME_DB','nome_del_db');
define('USER_DB','root');
define('PASS_DB','passowrd_db');
?>
Poi dovrai avere una classe per gestire la connessione a mysql (MySqlConn.class.php):
Codice PHP:
<?php
Class MysqlConn{
public function 
connect_db()
    {
    
$connessione mysql_connect(HOST_DBUSER_DBPASS_DB) or die (mysql_error());
    
$selezione_db mysql_select_db(NAME_DB$connessione) or die (mysql_error());
    }
}
?>
Inizia con la prima: blog_post.class.php
La quale deve eseguire una query tipo questa
codice:
SELECT 
	blog_posts.id AS id,
	blog_posts.title AS title,
	blog_posts.post AS post,
	blog_posts.author_id AS author_id,
	DATE_FORMAT( blog_posts.date_posted, '%d %m %Y' ) AS data_post,
	people.first_name AS fn_author,
	people.last_name AS ln_author 
FROM blog_posts
INNER JOIN 
people ON blog_posts.author_id=people.id
LIMIT 0, 5
Ma attenzione non mettere HTML nella classe!!
creati un metodo interno alla classe tipo get_array_posts() che ti restituisce gli elementi all'interno di un array (che poi ciclerai con foreach nell'html).

Insomma c'è da lavorarci tanto... ma tanto...