美文网首页
15、新手1+N模式查询报价单

15、新手1+N模式查询报价单

作者: 小碧小琳 | 来源:发表于2018-12-05 16:16 被阅读0次

应用场景,想要用PHP做一个报价单。

一、做一个报价单

如图,原来有一个这样的报价单。

然后要求我们也要做一个报价单,构造网页。

我们想要打印一个这样的报价单:打印出所有商品的名称,库存和价格。

这个就很简单了,根据上一篇文章,我们知道我们有一个goods表,其中就有这三个列名。那么就用sql语句直接查询得到结果,每个结果(每一行)定义为一个元组,然后再用php语言循环写入,可以构造一个报价单的网页如下。

二、新的要求

虽然已经有了报价单,但现在,经理提出新的要求,在报价单中,想要加入商品名称cat_name这一列。(但是原goods表只有cat_id,没有cat_name怎么办)

问:栏目名称只有在category表中才有,怎么办呢?

答:根据目前的知识,只能用笨办法查询:
在用PHP构造报价单的while循环中,每次再根据当前的cat_id,再查一次表category,得到cat_name。

一共需要用sql查询多少次呢?

  • 第一个sql语句,查询1次表goods,一共返回N条数据。(1次)
  • 接着在每条数据中,需要再用sql语句查询category表一次,得到cat_name。N条数据就要再查N次。(N次)
    如下图,每次根据一个cat_id,查询出cat_name。

因此,总共需要查询1+N次

为了不使用这种本办法,需要使用多表连接查询(左连接,右连接,全连接)

相关文章

网友评论

      本文标题:15、新手1+N模式查询报价单

      本文链接:https://www.haomeiwen.com/subject/pwpicqtx.html