假设我有一个带有产品页面的网站,该页面显示有关product.php的产品信息,其中product.php使用productname上的GET从MySQL数据库获取信息。现在,产品名称有时会更改。这种情况很少发生,但是会发生。

名称更改后,指向www.website.com/product.php?productname=Toaster400的旧链接显然将不再起作用。但是,我希望这些链接重定向到正确的页面。我也想允许人们搜索“ Toaster400”,即使更正的名称是“ Toaster400a”。

我只想到了一种解决方案,那就是在MySQL中使用一个“旧名称”表。如果在“产品”表中找不到产品,那么我可以检查“旧名称”表并查看与该旧名称相关的产品。

这是最好的评价方法吗?谢谢。

谢谢。

编辑:

这是代码:

//This just initializes the database connection
require __DIR__ . "/resources/database.php";

//checks to see if they searched for anything
if(isset($_GET['search_text'])) {
    $name = $_GET['search_text'];

    $db = getDbConnection();
    //This is a stored procedure which is literally just a select for % . ? . %
    $stmt = $db->prepare("CALL get_products(?)");
    $stmt->bindParam(1, $name, PDO::PARAM_STR, 150);
    $isQueryOk = $stmt->execute();
    $results = array();


然后,代码检查返回了多少行,并进行相应的重定向。

最佳答案

您可以考虑产品表中的“标签”列。例如:

表格栏

id->1
Product name-> test
tags->test


更新后,列的值将为

id->1
product name->testupdate
tags->test, testupdate


然后,您可以搜索重命名的产品。希望这可以帮助。:)

07-24 18:37
查看更多