Por ejemplo, en la url "http://www.ejemplo.com/f88/php-ajax-mysql-976596/" supongo que "php-ajax-mysql-976596" se separa en dos partes.
1- "php-ajax-mysql". Título del post, éste mismo fue parseado para que se pudiera usar en la url del navegador sin que aparezcan los molestos %20 y eso..
2- "976596". Supongo que es la id del post, es por las dudas si un post se llama parecido al otro.
Yo te recomendaría hacer algo así:
Creas una tabla "posts", como mínimo los campos serían: post_id, titulo, seo_titulo, contenido
No he usado el campo autor y eso para que sea lo más breve posible. Para crear el post usas un formulario normal en el cual se pide el titulo y el contenido. Para el campo seo_titulo irá el titulo parseado para que se pueda usar en la url.
Ahora un poco de php:
Mostrar lista de posts:
Código PHP :
$db = mysql_connect("localhost", "user", "password");
mysql_select_db("nombredb");
$posts = mysql_query("SELECT * FROM `posts`");
while($post = mysql_fetch_assoc($posts))
{
echo '<a href="http://tuweb.com/verpost.php?post='.$post['seo_titulo'].'-'.$post['post_id'].'">'.$post['titulo'].'</a>';
}
verpost.php
Código PHP :
$post = $_GET['post'];
$aux = explode('-', $post);
$postid = end($aux);
$postseo = substr($post, 0, (strlen($postid)*-1)-1);
$db = mysql_connect("localhost", "user", "password");
mysql_select_db("nombredb");
$posts = mysql_query("SELECT * FROM `posts` WHERE `seo_titulo`='".$postseo."' AND `post_id`='".$postid."' LIMIT 1");
while($post = mysql_fetch_assoc($posts))
{
echo $post['contenido'];
}
Con eso ya tendrías el script funcional (hice el código muy feo porque estoy acostumbrado a usar MVC.
Por último, para cuando vayas a insertar un post a la base de datos tendrías que hacer algo como esto:
Código PHP :
// FUNCION PARA CREAR EL STRING COMPATIBLE CON LA URL
function seo($input){
$input = mb_convert_case($input, MB_CASE_LOWER, "UTF-8"); //convert UTF-8 string to lowercase
$a = array('č','ć','ž','đ','š', 'á', 'é', 'í', 'ó', 'ú');
$b = array('c','c','z','dj','s', 'a', 'e', 'i', 'o', 'u');
$input = preg_replace("/[^a-zA-Z0-9]+/", "-", $input);
$input = preg_replace("/(-){2,}/", "$1", $input);
$input = trim($input, "-");
return $input; //voila
}
// no pongo la coneccion a la base de datos, solo pongo la consulta
$titulo = $_POST['titulo'];
$contenido = $_POST['contenido'];
$seo = seo($titulo);
$sql = "INSER INTO `posts`(`post_id`, `titulo`, `seo_titulo`, `contenido`) VALUES(NULL, $titulo, $seo, $contenido)";
mysql_query($sql);
Falta mucho más como hacer el formulario y eso pero supongo que ya lo debes saber hacer...