php - 为特定类别生成 URL
问题描述
我需要根据产品类别修改 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();
}
}
我需要echo "/nike/air-max/";
是否有价值或categoryProduct
必须回显,以便我可以在索引页面上回显Nike Air-Max
categoryProduct
reebook
/reebook/
<a href="/en/product/<?php echo $post['URL']; ?>/product.php?id=<?php echo $post['post_id']; ?>">See product information</a>
解决方案
首先,您必须在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>";
}
}
这样,您必须为每个类别和每个子类别创建一个目录;如果这是最好的解决方案,那么我想知道;但这是做复合链接的正确方法
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);
}
推荐阅读
- c++ - 致命错误:hdf5.h:没有这样的文件或目录
- javascript - Javascript Delete 运算符正在删除两个属性
- machine-learning - 找到信号的基频
- java - Docker – 在 docker 容器中编译 maven 项目并从那里运行它
- android - 如何在odoo mobile中使用多对多关系
- go - 文件未使用 go 上传到目录
- ruby-on-rails - 在 Mac 上使用 chrome 进行本地 Capybara 测试使用证书进行身份验证 - 寻找防止这种情况的方法
- regex - 正则表达式获取特定数量的字符串 - Python
- excel - Excel合并单元格包含多个值问题
- unity3d - Unity:下载 Google Ads Api 后“无法将类转换为 dex 格式”