sql >> Databáze >  >> RDS >> Mysql

přepište ?id=__ do názvu stránky uloženého v řádku db

Poté budete muset upravit řádek, který generuje odkazy:

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID'>$pageTitle</a></li>";

Název můžete přidat jako samostatný a nepoužitý &title= parametr, což je pěkný hack, abyste nemuseli nic upravovat:

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID&title=$pageTitle'>$pageTitle</a></li>";

Nebo vygenerujte 123+title odkazy:

echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID+$pageTitle'>$pageTitle</a></li>";

To by vyžadovalo upravit skutečný kód dispečera "cms", protože musí rozdělit id a název z parametru $_GET.

Nebo dokonce nahradit celý index.php?id= pouze s názvem:

echo "<li><a href='" . BASE_URL . "/$pageTitle'>$pageTitle</a></li>";

Což by zase vyžadovalo nasazení .htaccess pravidlo (něco jako směrování adresy URL htaccess pro PHP MVC? ). A museli byste upravit index.php skript znovu a vyhledejte id z title . Což by opět fungovalo pouze v případě, že by všechny tituly ve vaší databázi byly jedinečné.

P.S.:Ve skutečnosti byste měli také použít urlencode($pageTitle) . A htmlspecialchars() na $pageTitle který se stane textem odkazu.



  1. Hibernace strategie pojmenování změna názvů tabulek

  2. Jak vložit nové ID automatického zvýšení

  3. podpora mysql v php 7

  4. Datový typ MySql FLOAT a problémy s více než 7místným měřítkem