可否传授我一个内功?

来源:12-1 12.1 日志问题定位

野生码农在线co腚

2018-12-03

午休完 上问题 -_-

写回答

3回答

野生码农在线co腚

提问者

2018-12-03

//img.mukewang.com/szimg/5c0511cd00019de607850359.jpg

//img.mukewang.com/szimg/5c0511cd000117b410480399.jpg

//img.mukewang.com/szimg/5c0511cd0001cf1209520543.jpg

顺便,老师喜欢看什么格式的提问, 以后我就弄什么格式的,方便您预览

0
0

野生码农在线co腚

提问者

2018-12-03

一个优惠券表 coupon

id ,        优惠券主键Id

coupon_name,优惠券名称

goods_id,   可用商品id(,号分割)

一个商品表   goods

id,      商品主键id

goods_name, 商品名称.

-----------------------

优惠券名称   |  可用商品  |

-----------------------

满100减20   |  1,2,3,4   |

满100减20   |  2,3,4     |

满100减20   |  1,2,5     |

问题一: 

可用商品如何写sql才能显示商品名称.

能不能给出两种方案,

一种低效的子查询的语句怎么写,

第二种高效的 循环的怎么写.

我问别人了,别人说先取出所有优惠券的商品id,然后再用商品id,

去商品表取出与之对应的商品名称K-V, 但是不太会写啊,吭哧吭哧


$sql  = " select * from coupon ",

$ret = Db::query($sql);

$arr = [];

  foreach ($ret as $key => $value) {

            $ids = explode(',', $value['goods_id']);

            foreach($ids as $v){

                if(!in_array($v, $arr)){

                    $arr[] = $v;

                }

            }

           }

  这样好像就取出了所有优惠券的可用商品id了把,接下来不知道怎么做了.

  问题二:现在这是两张表,如果我设计第三张表.专门来存优惠券的id 和 商品的id

  id 主键Id

  coupon_id 优惠券id

  goods_id 商品id

  -----------------

  id  | coupon_id | goods_id |

  1   | 1   |  1       | 

  2   | 1   |  2       | 

  3   | 1   |  3       | 

  4   | 1   |  4       | 

这样设计好像也可行. 但是好像也没必要设计三张表.如果在大公司,大型项目是两张表,还是三张表

(不要说看需求.想听您的经验)

暂时就这两个问题了, 谢谢老师


0
0

singwa

2018-12-03

哈哈,您需要什么内工?

0
1
野生码农在线co腚
看下面
2018-12-03
共1条回复

Thinkphp5.0仿百度糯米开发多商家电商平台

【毕设】BAT大牛亲授ThinkPHP 5.0,实战中学透新技能,应用于工作

2439 学习 · 1711 问题

查看课程