oldVsevolod

BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Есть простенький код календаря. Всё работает хорошо, но если обратиться внутри кода через mysql_query, то результат возвращается, а если через PDO, то на этой строчке вся загрузка виснет и дальше ничего не происходит. Что я упускаю? Если PDO точно такой же запрос написать вне этого кода, то всё обрабатывается. Код: /* Функция генерации календаря */ function draw_calendar($month,$year){ /* Начало таблицы */ $calendar = '<table cellpadding="0" cellspacing="0" class="calendar">'; /* Заглавия в таблице */ $headings = array('Понедельник','Вторник','Среда','Четверг','Пятница','Суббота','Воскресенье'); $calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>'; /* необходимые переменные дней и недель... */ $running_day = date('w',mktime(0,0,0,$month,1,$year)); // $running_day = $running_day - 1; if($running_day == 0) $running_day = 6; else $running_day = $running_day - 1; $days_in_month = date('t',mktime(0,0,0,$month,1,$year)); $days_in_this_week = 1; $day_counter = 0; $dates_array = array(); /* первая строка календаря */ $calendar.= '<tr class="calendar-row">'; /* вывод пустых ячеек в сетке календаря */ for($x = 0; $x < $running_day; $x++) { $calendar.= '<td class="calendar-day-np"> </td>'; $days_in_this_week++; } /* дошли до чисел, будем их писать в первую строку */ for($list_day = 1; $list_day <= $days_in_month; $list_day++) { $calendar.= '<td class="calendar-day"'; if (date(j)==$list_day) $calendar.=' bgcolor=#ddddff>'; else $calendar.='>'; /* Пишем номер в ячейку */ $calendar.= '<div class="day-number">'.$list_day.'</div>'; /** ЗДЕСЬ МОЖНО СДЕЛАТЬ MySQL ЗАПРОС К БАЗЕ ДАННЫХ! ЕСЛИ НАЙДЕНО СОВПАДЕНИЕ ДАТЫ СОБЫТИЯ С ТЕКУЩЕЙ - ВЫВОДИМ! **/ $running_date = $year.'-'.$month.'-'.$list_day; $query = mysql_query("SELECT * FROM events WHERE date = '$running_date' "); while($result = mysql_fetch_assoc($query)) /* $query = $db->query("SELECT * FROM events WHERE date = '$running_date'"); while($result = $query->fetch())*/ { $calendar.= '<p class="'.$result[event_name].' ('.$result[kto].')" id="test" name="test" onclick=alert(this.className)><font size=3 color=blue>'.$result['zagolovok'].'</font></br></p>'; } $calendar.= str_repeat('<p> </p>',2); $calendar.= '</td>'; if($running_day == 6) { $calendar.= '</tr>'; if(($day_counter+1) != $days_in_month) { $calendar.= '<tr class="calendar-row">'; } $running_day = -1; $days_in_this_week = 0; } $days_in_this_week++; $running_day++; $day_counter++; } /* Выводим пустые ячейки в конце последней недели */ if($days_in_this_week < 8) { for($x = 1; $x <= (8 - $days_in_this_week); $x++) { $calendar.= '<td class="calendar-day-np"> </td>'; } } /* Закрываем последнюю строку */ $calendar.= '</tr>'; /* Закрываем таблицу */ $calendar.= '</table>'; /* Все сделано, возвращаем результат */ return $calendar; } |
|