我如何能够显示我的 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/