Результаты php по дням недели для данного месяца не возвращают правильные дни недели

У меня есть код, который, кажется, близок к работе. Вроде находит данные и группирует по дням, но метки по дням недели неверные.

У меня есть данные за понедельник, вторник, четверг и пятницу за текущий месяц. Выходные данные помечают их как воскресенье, понедельник, вторник, среду.

Так что на самом деле я думаю, что могут быть две проблемы: метки и не учет дней, по которым нет данных, поскольку выход не имеет перерыва в днях.

 *  Gets the first weekday of that month and year
 *
 *  @param  int   The day of the week (0 = sunday, 1 = monday ... , 6 = saturday)
 *  @param  int   The month (if false use the current month)
 *  @param  int   The year (if false use the current year)
 *
 *  @return int   The timestamp of the first day of that month
 *
 **/ 
function get_first_day($day_number=1, $month=false, $year=false)
{
  $month  = ($month === false) ? strftime("%m"): $month;
  $year   = ($year === false) ? strftime("%Y"): $year;

  $first_day = 1 + ((7+$day_number - strftime("%w", mktime(0,0,0,$month, 1, $year)))%7);

  return mktime(0,0,0,$month, $first_day, $year);
}

// Bar Plot Guest by weekday/month
$data_wk = array();
$label_wk = array();

    $statistic = querySQL('statistic_weekday');

    foreach ($statistic as $key => $value) {
        foreach($value as $paxsum){
            $label_wk[] = $key;
            $data_wk[] = $paxsum;
        }
    }

<?php
                    foreach ($label_wk as $value) {
                        echo "<th>".strftime("%A", get_first_day($value, $_SESSION['statistic_month'], $_SESSION['selectedDate_year']))."</th>";
                    }
                    ?>

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

Первая суббота выбранного месяца и года

.mktime и .strftime помогают вернуть неправильный день недели

Если полезно, вот мой: запрос:

case 'statistic_weekday':
            $result = query("SELECT SUM(reservation_pax) AS paxsum FROM `$dbTables->reservations` 
                            WHERE `reservation_wait`= '0' AND `reservation_hidden`= '0' 
                            AND `reservation_outlet_id`='%d' 
                            AND MONTH(reservation_date) = '%s'
                            AND YEAR(reservation_date) = '%s'
                            GROUP BY WEEKDAY(reservation_date)",
                            $_SESSION['outletID'], $_SESSION['statistic_month'], $_SESSION['selectedDate_year']);
            return getRowList($result);

person ToddG    schedule 12.03.2014    source источник
comment
У кого-нибудь есть идеи, я готов пойти по другому пути, если у кого-то есть лучшее предложение.   -  person ToddG    schedule 14.03.2014
comment
stackoverflow.com/questions/23430207/   -  person Steve Bals    schedule 02.05.2014