用PHP复杂的查询

时间:2013-08-11 10:44:03

标签: php mysql

我得到了下面的表格,其中包含一些数据:

Products:

+---------------------------+
|id|name |details  |price|cn|
|__|_____|_________|_____|__|
| 1|pen  |somethi  |100  |10|
| 2|paper|something|30   |11|
+---------------------------+

Categories:

+----------------------------+
|id | name      |parent_id   |
|____________________________|
|1  | granny    | 0          |
|2  | dad       | 1          |
|3  | grandson  | 2          |
|4  | grandson 2|  2         |
+----------------------------+

Products2categories:

+-------------------------------+
| id  | product_id | category_id|
|_______________________________|
| 1   | 1          | 3          |
| 2   | 1          | 2          |
| 3   | 1          | 1          |
+-------------------------------+

基本上,有产品,类别和表格将产品与类别相匹配。

正如您所看到的,每个产品都可以与多个类别相关,就像上面的示例中,ID为1(笔)的产品与类别相关:1,2,3。< / p>

这就是数据库的构建方式。 注意:每个类别只能有3个级别,这意味着grandson and grandson2不能是父级。

现在,我正在努力的是delete功能。

我想从列表中选择一个类别,该类别可以是祖父类别,mabe是父类别,甚至是孙子类别。点击删除按钮后,我想删除以下内容:

  • 与该类别相关的产品
  • 所有“儿子”类别
  • “儿子”类别持有的所有产品
  • 从表Products2Categories
  • 中删除prodcut_id和category_id

例如:

如果我删除类别granny我想删除与其相关的所有产品,那么我想删除{son}类别dad以及所有相关产品然后,因为Products2Categories有一个“儿子”,我想删除他的儿子,他实际上有两个,dad和所有的与他们和当然相关的产品将他们从grandson and grandson2表中取消链接。

我一直在努力想出一个能够在过去两天内完成这项任务的代码,而我却无法提出任何想法,我几乎已经迷失了。

提前致谢!

注意:如果您需要 ANY 其他信息,请随时提出要求!

0 个答案:

没有答案