2016-03-19 3 views
0

Я пытаюсь получить записи из базы данных на этой неделе, если я нахожусь в середине недели, я хочу получать записи только из дней прошлой недели и Cегодня.PHP, получающий дни за определенную неделю

Это их стандартный способ сделать это? Единственное, о чем я могу думать, это:

используя дату «D», чтобы получить «TUS», а затем сказать, если TUS; период текущей недели равен 2 (MON и TUS)

ответ

0

Я только что нашел ответ.

https://secure.php.net/manual/en/function.date.php

w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday) 

или

N ISO-8601 numeric representation of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7 (for Sunday) 
0
SELECT * FROM mytable WHERE YEAR(database_timestamp)=YEAR('2016-03-19') AND WEEK(database_timestamp)=WEEK('2016-03-19') AND WEEKDAY(database_timestamp)<=WEEKDAY('2016-03-19'); 

Поместите собственную дату вместо '2016-03-19'. Это поиск записей, которые указаны в том же году и в неделю, что и введенные даты, и которые являются одинаковыми или обычными деньгами.

Вы должны уточнить, хотите ли вы ПОЛУЧИТЬ ЗАПИСИ ИЗ БАЗЫ ДАННЫХ ИЛИ ПОВТОРИТЬ В PHP. Это решение - уровень базы данных. При использовании правильных индексов он должен быть быстрее, чем синтаксический анализ всего в PHP.

Смежные вопросы