遍历4个表时的数据不一致

时间:2014-06-14 22:34:34

标签: php mysql codeigniter model

我正在使用4个表(包含很多字段,但每个表中只有几个重要字段)。

  1. 客户表
  2. 广告资源表
  3. 发票表
  4. 发票明细表
  5. 我一直在做的是获取客户或物品的身份。

    如果是客户,我会将他们的ID从客户表中获取信息。现在,为了获得他们携带的物品,我必须查看具有该客户ID的每张发票。所以我抓住了所有这些。每张发票都有ID和ID链接到发票明细表,因此我会获取该发票ID并获取与发票匹配的发票明细。然后这些项目在iteminventory表中,因此我从发票明细中获取项目ID,并获取与该客户关联的每个发票的所有项目。然后我通过循环运行该数据以除去任何空值并将项数组传递给视图。

    现在,如果它是一个项目,则执行操作,反之亦然。我拿这个项目,查看包含该酒的每个发票明细,从中获取发票ID,并分别从每个发票中获取客户ID。

    不知怎的,我结束了客户携带的产品,但当我去产品看客户携带产品时,前面提到的客户不会列在产品下面。

    有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

大多数SQL程序员使用一系列JOIN指令和适当的ORDER BY指令通过单个查询解决此类问题。他们编写了一些php代码来逐行读取结果集,检测发票ID发生变化的行,并适当地格式化信息。

如果您不熟悉,请阅读如何使用JOIN指令似乎是一个好主意。