Отображать записи определенного года в php mysql

У меня есть система, которая показывает записи по годам. У меня есть выпадающее меню, из которого пользователь выбирает год, и я сохраняю это значение в переменной $year, Так что теперь, когда $year = 2013-2014, он не должен отображать записи года 2014-2015. Кстати, когда я вставляю свой contractNumber, я также вставляю год, который пользователь выбрал во время входа в систему. например contractNumber = 1#2013-2014,

Я пробовал это запросы:

SELECT * FROM contract WHERE contarctNumber RLIKE "^$year";

Теперь, когда я выбираю год 2014-2015, он по-прежнему отображает все записи 2013-2014 года.

Какие-либо предложения?

2 ответа

Попробуйте этот запрос

SELECT * FROM contract WHERE contarctNumber LIKE "%$year";

SQLFiddle DEMO

пример

CREATE TABLE test (contarctNumber varchar(25));
INSERT INTO test VALUES ('1#2013-2014'), ('1#2014-2015'), ('2#2014-2015');

Выберите запрос

SELECT * FROM test WHERE contarctNumber LIKE "%2014-2015";

Выход

| CONTARCTNUMBER |
------------------
|    1#2014-2015 |
|    2#2014-2015 |

Если contractNumber всегда заканчиваться в диапазоне дат, почему бы не использовать:

SELECT * FROM contract WHERE contarctNumber LIKE "%$year";

Это означает, что он будет соответствовать чему угодно до $year выбран, но все еще соответствует указанному диапазону.

Вариант № 2:

SELECT * from contract where RIGHT(contarctNumber, 9) = '$year';
Другие вопросы по тегам