如何为正在制作的产品目录创建目录?

时间:2012-09-23 22:05:18

标签: php ajax

我正在创建一个产品目录,它将通过数据库查询进行浏览,结果显示在div中,无需刷新页面 - 通过ajax。

类别示例如下:

主页 健康 娱乐

每个类别也有子类别,即:

HOME: 花园 家具 水暖 等

我想创建一个小目录的东西,准确显示它们的位置,如:

主页>>>花园>>>草坪护理

将每个作为可点击链接,将此人带回特定查询级别。

我的代码是1个.php文件,涉及查询和输出查询的代码。如果单击输出,它会触发一个ajax脚本,该脚本指向并重新运行相同的查询/输出,但结果不同。

这就是说,我不知道如何创建一种存储和显示目录路径的方法。我在上面提到过。

我正在考虑某种方式来获取被点击的类别并将其传递给url,以便php在重新加载时具有值。然后我将该变量用于可点击的目录链接。但问题是我不知道如何为多层做到这一点。

即。 如果有人只是点击“花园”我可以通过花园变量并在导航中使用它,但如果有人点击“草坪护理”我不会确定如何保持“花园”变量因为我带来的变量现在通过网址阅读“草坪护理”。

我觉得它与在数组中动态添加和存储累积值有关,但我真的没有想法......

2 个答案:

答案 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时,您可以轻松返回到请求的页面...这很简单解决问题......