应用场景,想要用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次。
为了不使用这种本办法,需要使用多表连接查询(左连接,右连接,全连接)
网友评论