我有一个显示记录明智的系统。我有用户选择年份的下拉菜单,我将该值存储在变量$year
中。所以现在当$year = 2013-2014
,它不应该显示2014-2015年的记录。顺便说一句,当我插入我的contractNumber时,我也插入用户在登录时选择的年份。例如contractNumber = 1#2013-2014
。在php中显示特定年份的记录mysql mysql
我尝试这样的查询:
SELECT * FROM contract WHERE contarctNumber RLIKE "^$year";
现在,当我选择2014 - 2015年一年,但仍从2013-2014年显示的所有记录。
有什么建议吗?
这是一个PHP的问题或数据库设计?你没有与每份合同有关的时间戳字段吗? – Mawg 2013-04-06 07:53:59
这是PHP的问题。不,我没有时间戳字段。但我确实有contractDate字段,它是由用户手动插入的。 – ashah142 2013-04-06 08:02:28
@ ashah142你应该将你的日期转换为int(unix timestamp)或者mysql日期类型。否则,如果数据库增长,“LIKE”操作将需要很长时间。此外,为什么不使用ISO8601日期,所以你至少要让它们可排序(以及更有效的搜索索引)? – 2013-04-06 08:08:39