生成特定类别的URL

时间:2019-09-19 09:26:21

标签: php sql pdo

我需要根据产品类别修改URL。因此,在数据库示例中:类别的名称为<input>,子类别的名称为NIKE,因此其URL为AIR-MAX。因此,如果在数据库列site.com/en/products/nike/air-max/product.php?id=1中有/nike/air-max/,则我需要生成category,否则,如果在数据库列中是另一个类别示例:/nike/air-max/以显示reebok url。我认为可以使用/reebok/来实现。

echo function

如果class Main { public function get_all_posts(){ global $pdo; $query = $pdo->prepare('SELECT * FROM post WHERE categoryProduct="Nike Air-Max" ORDER BY post_id DESC'); $query->execute(); return $query->fetchAll(PDO::FETCH_ASSOC); } public function fetch_data($pid){ global $pdo; $query = $pdo->prepare('SELECT * FROM post where post_id = ? order by post_date desc'); $query->BindValue(1,$pid); $query->execute(); return $query->fetch(); } } 的值是echo "/nike/air-max/";,或者categoryProduct的值是Nike Air-Max来回显categoryProduct,则我需要reebook,这样我才能在索引页上将其回显到/reebook/

1 个答案:

答案 0 :(得分:-2)

首先,您必须将类别与BD中的子类别分开;因此,您必须创建两个单独的表:一个用于类别,另一个用于包含子类别名称和类别引用。

这样做之后,您可以简单地检索所有类别,然后foreach类别进行子类别检索并显示名称:

foreach ($result as $category) {
   foreach (retriveAllProdsFromCat($category) as $subCategory) {
       echo "<a href='site.com/en/products/$catgory/$subCategory/product.php?id=1'>$subCategory</a>";
   }
}

这样,您必须为每个类别和每个子类别创建一个目录;因此,如果这是最好的解决方案,那么请idk;但这是建立复合链接的正确方法

function retriveAllProdsFromCat($category) {
    global $pdo;
    $query = $pdo->prepare('SELECT name FROM subcategory WHERE category=? ORDER BY post_id DESC');
    $query->bind_param('d', $category);
    $query->execute();

    return $query->fetchAll(PDO::FETCH_ASSOC);
}