//допустим вы получили список постов в массиве $posts
//выводим посты
foreach($posts as $post){
echo 'ПОСТ' . $post['id'] . '<a href="single.php?post_id=' . $post['id'] . '">Прочитать полностью</a>';
}
ПОСТ 1 <a href="single.php?post_id=1">Прочитать полностью</a>
ПОСТ 2 <a href="single.php?post_id=2">Прочитать полностью</a>
ПОСТ 3 <a href="single.php?post_id=3">Прочитать полностью</a>
ПОСТ 4 <a href="single.php?post_id=4">Прочитать полностью</a>
<?php
include_once 'functions.php';
include_once 'db.php';
if(isset($_GET['post_id'])){
$nav = intval($_GET['post_id']);
$sql = sprintf("SELECT * FROM posts WHERE id = '%s' ", mysql_real_escape_string($nav));
$query = mysql_query($sql);
if (!$query) {
die('Не удалось выполнить запрос: ' . mysql_error());
}
$post = mysql_fetch_assoc($query);
echo '<h3> ' . $post["message"] . ' </h3>';
}
else{
//редирект на страницу ошибки 404 либо
echo 'Ошибка, не указан номер поста';
}
?>
В apache и смене кодировки я не очень разбираюсь, так что без помощи не обойтись.