Как получить элементы из БД по дате - PullRequest
1 голос
/ 04 октября 2009

Это мой сценарий:

$spending_period = time() - (30 * 24 * 60 * 60);
$spending_period = date('Y-m-d', $spending_period);
$monthly_income_query="SELECT amount FROM budget_items WHERE (date_code >= '$spending_period') && (type=='Income') ORDER BY date_code DESC";
$monthly_income_result=mysql_query($monthly_income_query);
while($monthly_income_scan=mysql_fetch_array($monthly_income_result)){
    if($montly_income_counter >=1){
        $monthly_income=$monthly_income + $monthly_income_scan['amount'];
        }
    }

Я получаю сообщение об ошибке, что mysql_fetch_array () не является допустимым ресурсом результата.

Цель состоит в том, чтобы получить только те элементы в таблице budget_items, у которых есть код даты (с использованием типа DATE) за последние 30 дней.

У кого-нибудь есть предложения?

Ответы [ 2 ]

0 голосов
/ 04 октября 2009

Вам необходимо отформатировать дату как сильную и использовать CAST внутри оператора select, чтобы принять значение в качестве значения даты.

0 голосов
/ 04 октября 2009
  • Если что-то не работает с вашим запрос - вы можете попробовать его в Консоль mysql с некоторой датой выборки.
  • Если данные возвращаются, попробуйте распечатать запрос. У меня есть догадка, что переменная $spending_period может быть неправильно интерполирована в строку запроса (попробуйте использовать '{$spending_period}' вместо '$spending_period'.
...