php - 如何使用 MySQL 和 PHP 从与父类别关联的页面创建指向子类别的链接

标签 php mysql

我如何能够显示我的 MySQL 数据库中列出的子类别的 url 值,看起来类似于下面的示例?

index.php?cat=category&sub=sub-cat-1&sub2=sub-cat-2&sub3=sub-cat-3

这是 MySQL 表。

CREATE TABLE categories ( 
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
parentID INT UNSIGNED NOT NULL DEFAULT 0, 
categoryNAME TEXT NOT NULL, 
PRIMARY KEY (id), 
INDEX parent (parentID)
);

更新: 我的最终目标是从与父类别关联的页面创建指向子类别的链接。

例子: 我在“汽车零件”页面上,我想显示指向“发动机零件”、“悬架零件”和“变速箱零件”页面的链接。

最佳答案

您需要确保名称是唯一的,至少在其父名称中是唯一的。我的建议是增加一个字段:urlName VARCHAR(100) NOT NULL,以及一个新索引:UNIQUE KEY(parentID, urlName)。您必须确保 urlName 可以安全地放入 url,否则您会得到一些丑陋的 url。

也就是说,您的网址需要一些工作。我想这样的事情会起作用:

http://example.com/index.php?cat[]=cat&cat[]=subcat1&cat[]=subcat2

那会起作用,但它仍然有点令人讨厌,我永远不会使用那样的东西。你真的应该考虑 URL 重写,所以你的 url 会是这样的:

http://example.com/cat/subcat/subcat2/

这样好多了,不是吗?这也很容易!只需使用以下 .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

然后只需爆炸你的 $_SERVER['REQUEST_URI'] 就可以了!

关于php - 如何使用 MySQL 和 PHP 从与父类别关联的页面创建指向子类别的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486173/

相关文章:

mysql - Docker Compose - 如何在一个 mysql 容器中引用多个模式

php - 将 MySQL 'TIME' 字段拆分为单独的部分

php - 在php html中显示从mysql到dropdownbox的具体信息。

带有 POST 数据的 PHP Symfony 重定向

java - 将 Blob 转换为字节数组的最简单方法

php - 如何将json模型对象保存到php mysql数据库

MYSQL - 在数据库之间复制具有特定前缀的表

php - 调试 PDO mySql 将 NULL 插入数据库而不是空的

php - 用PHP学习OO编码,static != 表达式,但是PHP手册上说凡是有值的都是表达式,一头雾水

php - 使用带有多个空格的 Preg_Split