我的项目需要一个解决方案..实际上,我陷入了一个问题..让我给你看一下我的问题的图片。 Senerio of my problem
如果你能看到,有一些列是 12 个月。所以我需要运行一个 MySQL 查询或一个程序来显示包含文本“未支付”的选定列。
例如。
如果我想检查 1 月到 3 月或 6 月到 11 月等期间“未付款”的成员(member)......那么解决方案是什么......??
我知道我们可以使用“between”子句,但我不明白。因为我想使用两个下拉菜单,用户可以在其中选择他们想要查看的月份。
请帮助我摆脱这个问题..我是 PHP 的新手。
最佳答案
如果我是你,我会将月份表示为日期,即使是字符串(例如,'2017-06'
),然后将月份映射到语义表示字符串(例如, '六月'
)。因此,一种方法是将日期作为 varchar
存储在 MySQL 数据库中。
就数据库中的数据建模而言,我会创建一个包含三列的表 1) user_id
; 2) 截止日期
; 3) payment_status
。
.----------------------------.
| 0 | 2017-06 | paid |
| 1 | 2017-07 | not paid |
| 2 | 2017-08 | paid |
| 3 | 2017-09 | paid |
'----------------------------'
现在您可以编写查询来检索 1 月至 3 月期间“未付款”的成员(member)。 (注意:这只是一种方式,查询方式有很多种)
SELECT
DISTINCT(user_id)
FROM payments_table
WHERE due_date >= '2017-03'
AND due_date < '2017-06'
AND payment_status = 'not paid';
关于php - MySQL查询的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44689660/