单击“显示”时显示详细信息

时间:2013-09-26 15:14:22

标签: php mysql

你好,有人可以告诉我如何解决这个问题吗?比方说,我有两个表“sales”和“rsales”。我的桌子上有这个ff数据。

销售数据

receipt |  date       | total | 1st_id | last_id |
129999  | 09/26/2013  |  1220 |   1    |   2     |
139999  | 09/27/2013  |  2320 |   3    |   4     |


data from rsales
id | product_name |
1  |   33uf       |
2  |   44uf       |
3  |   7sss       |
4  |   8sss       | 

这是我在报告时从我的网页上看到的视图

receipt |  date       | total | 1st_id | last_id | + |
129999  | 09/26/2013  |  1220 |   1    |   2     | + |
139999  | 09/27/2013  |  2320 |   3    |   4     | + |

所以在这里。我的问题是,当我点击“+”时,它将从rsales中选择数据,然后显示。所以,我要点击“+”,收据是129999。所以预期的输出必须是这样的。

receipt |  date       | total | 1st_id | last_id | + |
129999  | 09/26/2013  |  1220 |   1    |   2     | + |
id      | product_name |
1       |   33uf       |
2       |   44uf       |
139999  | 09/27/2013  |  2320 |   3    |   4     | + |

为什么它会这样显示?这是因为来自sales的1st_id和last_id =来自rsales的id 1和2。这很难解释,但我认为我给出的例子足以理解我想做什么。希望你的想法。我真的需要点子。

1 个答案:

答案 0 :(得分:1)

如果您按照我认为设置的方式进行设置,则需要两个查询:

SELECT 1st_id, last_id FROM sales WHERE receipt=?

然后

SELECT Id, product_name FROM rsales WHERE Id>=[variable from 1st_id] AND Id<=[variable from last_id];

如果我这样做,我会设置3个表

带有3个字段的sales_rsales,id,sales_receipt,rsales_id。除了1st_id和last_id使用它来跟踪每个收据的产品,然后SQL将很容易:

SELECT rsales.Id, rsales.product
  FROM rsales JOIN sales_rsales ON rsales.Id=sales_rsales.rsales_id
  JOIN sales ON sales.receipt=sales_rsales.sales_receipt
  WHERE sales.receipt=?