我有一個顯示記錄明智的系統。我有用戶選擇年份的下拉菜單,我將該值存儲在變量$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