php - MySQL查询的解决方案

标签 php mysql

我的项目需要一个解决方案..实际上,我陷入了一个问题..让我给你看一下我的问题的图片。 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/

相关文章:

php - 带有 Laravel Unix 套接字的 MAMP

php - 在 WooCommerce 中将爱尔兰的邮政编码结帐字段设置为必填字段

PHP 登录系统/ session 第一次无法工作

java - 为什么 Mysql INT(10) unsigned column to row.getLong 在 jasync-sql 中抛出异常

php while循环变量每三个div

php - 连接MySQL数据库报错

php - 如何将输入的文本转换为图像?

mysql - 选择日期格式为 'YYYY-MM' 的记录到给定范围

php - sprintf 错误如 %%?%%

python - Mysql-python 未与 bitnami django 堆栈一起安装? "Error loading MySQLdb module: No module named MySQLdb"