Как вытащить из БД количество записей по датам?

Тема в разделе "Как сделать...", создана пользователем gavik, 3 янв 2015.

  1. gavik

    gavik

    Регистр.:
    25 июл 2010
    Сообщения:
    158
    Симпатии:
    14
    Этот код должен по идее выводить [дата, число записей за эту дату].
    PHP:
    $day=24 3600;                 // сколько секунд в одном дне
            
    $hour3600;                    // сколько секунд в одном часе      
            
    $t round(time() / ($day));    //количество полных пройденных суток      
            
    $t time() % ($t $hour);        //полчаем количество секунд которое прошло в нынешних сутках
            
    $t time() - $t;                //количество секунд, соответствующее началу нынешних суток
          
          
            
    $count_week=0;//количество за неделю
            
    for ($i 8$i > -$i--)
            {
                
    $finish $t - ($i-1)*$day// начало интервала
                
    $start $t $i*$day;        // конце интервала
                              
                
    $query "SELECT * FROM orders  WHERE (date >= $start) AND (date<= $finish) ";      
                
    $count mysql_num_rows(mysql_query($query));        //количество записей
              
                
    $count_week+=$count;
                
    $points .= '["'.date('d-M-y', ($t $i*$day)).'",'.$count.'],';
            }
    Он в принципе работает, НО. Почему то через день. Не могу понять почему - то работает то нет. Помогите кто знает как вытащить из БД количество записей по датам!
    Можно как то через SQL это сделать?
     
  2. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Обычно это делают так:
    Код:
    SELECT COUNT(*) AS cnt FROM orders  WHERE (date >NOW())
    Можно было бы конкретней написать выборку между датами, но я не вижу в вопросе, какая задача-то ставилась?
    Сейчас она звучит так: у меня есть код, он неправильный, скажите как правильно.

    А должен быть вопрос:
    1. Есть таблица SQL структуры ...
    2. Нужно вывести ... по параметру ...
    3. Как реализовать это через SQL?
    Сейчас я вижу вопрос №3, а без 1 и 2 предлагается гадать на кофейной гуще.
     
    Последнее редактирование: 3 янв 2015
  3. gavik

    gavik

    Регистр.:
    25 июл 2010
    Сообщения:
    158
    Симпатии:
    14
    В первой же строчке описание задачи:
    Этот код должен по идее выводить [дата, число записей за эту дату].
    Т.е есть таблица, любая. Например:
    |id| date |
    Нужно создать массив [дата, число записей за эту дату].
    Пример массива: [01.02.2014, 4], [02.02.2014, 6], [03.02.2014, 1], [04.02.2014, 0], и т.д.
    Как это реализовать средствами SQL или PHP чтобы все стабильно работало?
     
  4. Denixxx

    Denixxx

    Регистр.:
    7 фев 2014
    Сообщения:
    247
    Симпатии:
    191
    Хорошо, п.2 вы вроде прояснили, но...
    Дата в каком формате? См. п. 1 из моего прошлого вопроса.
     
  5. gavik

    gavik

    Регистр.:
    25 июл 2010
    Сообщения:
    158
    Симпатии:
    14
    Пример массива: [01.02.2014, 4], [02.02.2014, 6], [03.02.2014, 1], [04.02.2014, 0], и т.д.
    Разве не понятно по этой строчке?