我正在创建一个产品目录,它将通过数据库查询进行浏览,结果显示在div中,无需刷新页面 - 通过ajax。
类别示例如下:
主页 健康 娱乐
每个类别也有子类别,即:
HOME: 花园 家具 水暖 等
我想创建一个小目录的东西,准确显示它们的位置,如:
主页>>>花园>>>草坪护理
将每个作为可点击链接,将此人带回特定查询级别。
我的代码是1个.php文件,涉及查询和输出查询的代码。如果单击输出,它会触发一个ajax脚本,该脚本指向并重新运行相同的查询/输出,但结果不同。
这就是说,我不知道如何创建一种存储和显示目录路径的方法。我在上面提到过。
我正在考虑某种方式来获取被点击的类别并将其传递给url,以便php在重新加载时具有值。然后我将该变量用于可点击的目录链接。但问题是我不知道如何为多层做到这一点。
即。 如果有人只是点击“花园”我可以通过花园变量并在导航中使用它,但如果有人点击“草坪护理”我不会确定如何保持“花园”变量因为我带来的变量现在通过网址阅读“草坪护理”。
我觉得它与在数组中动态添加和存储累积值有关,但我真的没有想法......
答案 0 :(得分:5)
根据您的描述,听起来您想要实现面包屑/类别而不是目录。
如果是这种情况,您基本上需要在数据库中创建一个Categories表,如下所示:
Categories
id | parent_id | name
1 | 0 | Home
2 | 1 | Garden
3 | 1 | Furniture
4 | 1 | Plumbing
5 | 2 | Lawn Care
这将等同于以下层次结构:
因此,如果我想要一个产品展示,例如,在 Home>花园>草坪护理,我需要将产品链接到第5类(草坪护理)。然后我需要开发一个函数来做一个while循环,从那里找出父结构。它将需要循环,直到它找不到父项(或直到parent_id = 0)。换句话说,它会:
I'm in Lawn Care. Does Lawn Care have a parent?
Yes -> Garden. Does Garden have a parent?
Yes -> Home. Does Home have a parent?
No -> End.
有很多方法可以实现这一点,这就是我将具体内容排除在外的原因。
或者,您可以在保存产品或类别时进行此计算,以便它可以一次性而不是每次映射层次结构(节省计算),但这将是一个非常简单的解决方案,可以用于大量的产品。
这样做的好处是您还可以根据您所在的类别实施产品列表,从另一个角度来看,您可以按类别创建产品计数。
答案 1 :(得分:0)
您可以使用\Home\Garden\LawnCare
之类的网址,并使用.htaccess和mod_rewrite重写它们。当用户点击Garden或Home时,您可以轻松返回到请求的页面...这很简单解决问题......