У меня есть система, которая показывает год записи года. У меня есть раскрывающееся меню, из которого пользователь выбирает год, и я сохраняю это значение в переменной $year
. Итак, теперь, когда $year = 2013-2014
, он не должен отображать записи 2014-2015 годов. Кстати, когда я вставляю свой номер контракта, я также вставляю год, который пользователь выбрал во время входа. например contractNumber = 1#2013-2014
.отображает записи определенного года в php mysql
Я попытался это запросы:
SELECT * FROM contract WHERE contarctNumber RLIKE "^$year";
Теперь, когда я выбираю 2014-2015 год, она по-прежнему отображаются все записи с 2013-2014 года.
Любые предложения?
Является ли это PHP вопрос или дизайн базы данных? У вас нет поля временной метки, связанного с каждым контрактом? – Mawg
Это вопрос PHP. и нет, у меня нет поля времени. Но у меня есть поле contractDate, которое вводится пользователем вручную. – ashah142
@ ashah142 вы должны преобразовать свои даты в int (временная отметка unix) или тип даты mysql. В противном случае, если ваша база данных будет расти, операции «LIKE» потребуют возраста. Кроме того, почему бы не использовать даты ISO8601, чтобы вы, по крайней мере, могли их сортировать (и более эффективные индексы для поиска)? –