réécrire index.php?id=xxx avec le titre d'un champs mysql

Nouveau WRInaute
Bonjour

Après plusieurs recherche je n'ai pas trouver de résultats satisfaisant.
C'est pourquoi je me tourne vers vous.

Voici mon probleme :

j'aimerais que mes urls du style
www.example.com/dossier/index.php?id=412
soit renommé en
www.example.com/dossier/montitre.html
ou montitre correspond à un champs contenu dans ma table mysql appelé par l'id.

Si je n'ai pas était assez clair ou si vous avez besoin d'info supplémentaire n'hésitez pas à me le signaler

Merci d'avance
 
WRInaute accro
SI tu ne veux pas utiliser l'ID, tu dois enregistrer un Slug dans ta base de donnée, ensuite tu fais la requête SQL qui va avec, exemple:
PHP:
<span class="syntaxhtml"><br /><span class="syntaxdefault"><?php<br />$slug </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> mysql_real_escape_string</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'slug'</span><span class="syntaxkeyword">]);<br /></span><span class="syntaxdefault">$sql </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"SELECT * FROM table WHERE slug = '$slug'"</span><span class="syntaxkeyword">;<br />...<br /></span><span class="syntaxdefault">?><br /></span></span>
Une fonction PHP qui fonctionne bien pr transformer un titre en slug:
https://www.webrankinfo.com/forum/fonctions-pour-creer-slug-seo-friendly-ur ... ml#p951085
 
WRInaute occasionnel
Salut,
j'aimerais que mes urls du style
http://www.example.com/dossier/index.php?id=412
soit renommé en
http://www.example.com/dossier/montitre.html
ou montitre correspond à un champs contenu dans ma table mysql appelé par l'id.
A inclure au début de ton index.php;
Code:
if (preg_match('#id=([0-9]+)$#',),$_SERVER['REQUEST_URI'],$m)
{
$id=$m[1];
// TA REQUETE SQL qui retourne une variable $t pour "titre" en fonction de l'id $id
header("HTTP/1.1 301 Moved Permanently");
header ('location: http://'.$_SERVER['HTTP_HOST'].'/dossier/'.$t);
header("Connection: close");
die();
exit;
}
 
Discussions similaires
Haut