美文网首页
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