【发布时间】:2019-09-19 09:26:21
【问题描述】:
我需要根据产品类别修改 URL。所以在数据库示例中:类别名称是NIKE,子类别是AIR-MAX,所以这个URL 是site.com/en/products/nike/air-max/product.php?id=1。所以我需要生成/nike/air-max/ 如果在数据库列中category 有/nike/air-max/ 否则如果在数据库列中是另一个类别示例:reebok 以显示/reebok/ url。我认为这可以通过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();
}
}
如果categoryProduct 有Nike Air-Max 值或categoryProduct 有reebook 回显/reebook/,我需要echo "/nike/air-max/";,这样我就可以在索引页面上回显到<a href="/en/product/<?php echo $post['URL']; ?>/product.php?id=<?php echo $post['post_id']; ?>">See product information</a>
【问题讨论】:
-
您需要使用
.htaccess来重写您的网址。 -
在 .htaccess 中?怎么有教程或者?我对 .htaccess @Script47 不满意
-
我认为 htaccess 不会解决这个问题,PHP 是解决方案。因为我需要从数据库而不是手动创建
category/sub-category/。 @Script47 -
如果类别是
nike/air-max,我从数据库列类别中检索,则在 url 中回显nike/air-max。 @Script47 -
您的网站上没有这样的文件,例如
/en/products/nike/air-max/product.php?id=1。因此,您将 必须 使用 mod_rewrite 规则(php 用户错误地调用 .htaccess)来访问您新创建的 url。但这是一个完全不同的故事