我如何能够从我的
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可以安全地放入网址,否则你会得到一些丑陋的网址.
那就是说,你的网址需要一些工作.我猜这样的事情会起作用:
http://example.com/index.php?cat[]=cat&cat[]=subcat1&cat[]=subcat2
那会起作用,但它仍然有点讨厌,我永远不会使用那样的东西.你应该考虑URL重写,所以你的网址将是这样的:
http://example.com/cat/subcat/subcat2/
那好多了,不是吗?它也很容易!只需使用以下.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
然后只是爆炸你的$_SERVER [‘REQUEST_URI’],你很高兴!