php 求矩形面积,php – 给定尺寸的所有矩形的搜索矩阵(选择座位块)

所有,

我一直在努力解决如何在一个座位内选择15张门票.

编辑:问题是 – 如何查找给定尺寸的所有矩形(例如3×5)的免费座位?

以下是我的表,查询选择连续4个座位(或15个或更多),这是很好的…

但是我想做的是选择说15个座位,这些座位可能会被分成多行,即3 x 5,但是我希望它们被阻塞在一起,即

row 9 ..(some seats)..[5 seats]..(some seats)..

row 8 ..(some seats)..[5 seats]..(some seats)..

row 7 ..(some seats)..[5 seats]..(some seats)..

即他们将在彼此前面的3行. row9座位10到25,row8座位10到25,row7座位10到25.

也可能需要考虑如果座椅座具有不同数量的座椅,即角块可能处于弧形以在后面比前侧具有更多的座椅.

任何形式指导SQL或某些算法或一些PHP代码.一周之内的大部分时间里,我一直在.acking大脑.

CREATE TABLE `seats` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`event_id` int(11) DEFAULT NULL,

`performance` int(11) DEFAULT NULL,

`block` int(11) DEFAULT NULL,

`row` int(11) DEFAULT NULL,

`seat` int(11) DEFAULT NULL,

`status` int(10) DEFAULT 1,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

我的查询至今 – 返回X个座位的组合.

SELECT a.event_id, a.performance, a.block,

a.row, a.seat AS start_seat,

a.seat + (4 - 1) AS end_seat,

4 AS requested_seats,

a.id AS start_allocation_id

FROM seats a

LEFT JOIN seats b ON

a.event_id = b.event_id AND

a.performance = b.performance AND

a.block = b.block AND

a.row = b.row AND

a.seat < b.seat AND

b.seat < a.seat + 4 AND

b.status = 1

WHERE a.status = 1 AND

a.event_id = 1

GROUP BY a.seat

HAVING COUNT(b.seat) + 1 = 4

ORDER BY performance

提前感谢,需要更多的信息请问!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值