Het is niet helemaal duidelijk wat je vraagt. Als je een pagina wilt maken met de url's van je boeken, dan ben je niet ver weg met je echo-statement. Je hoeft alleen maar $bookid en $booktitle in te vullen uit de database. .htaccess is niet betrokken.
echo "<a href='http://sitename.com/".$bookid."-".seo($booktitle)."'>".$booktitle."</a>";
Maar als u de URL wilt uitpakken van de link waarop de gebruiker heeft geklikt, moet u kijken naar de queryreeks die aan de pagina is doorgegeven. .htaccess splitst de URL voor je op en geeft de $1 parameter door aan je script. Probeer het volgende om de url in PHP te lezen
parse_str($_SERVER['QUERY_STRING'],$query);
if (array_key_exists('id',$query)) {
$books = explode("-",$query['id']);
}
Hiermee wordt een array gemaakt met de boek-ID in het eerste element ($books[0]), en het eerste woord van de titel in het tweede enz. (Als u deze benadering wilt gebruiken en de hele titel in het tweede misschien wilt u een ander teken gebruiken om de id van de titel af te bakenen tot het teken dat u gebruikt om spaties te vervangen.