есть скрипт календаря
почему-то mysql_query работает, а $db->query
поключение к базе через PDO есть, все обращения вне этого места обрабатывает, а вот именно в этом месте PDO и не срабатывает, прямо заколдованное.
Код:
<?php
include "db_calendar.php";
/* Функция генерации календаря */
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;
}
/* СПОСОБ ПРИМЕНЕНИЯ */
// Месяц
if (!$y) $y=date("Y");
if (!$mes)
{ $mes=date("m"); $mes_=date("m");}
else
{
if ($mes=="1") { $mes="01"; $mes_="01";}
if ($mes=="2") { $mes="02"; $mes_="02";}
if ($mes=="3") { $mes="03"; $mes_="03";}
if ($mes=="4") { $mes="04"; $mes_="04";}
if ($mes=="5") { $mes="05"; $mes_="05";}
if ($mes=="6") { $mes="06"; $mes_="06";}
if ($mes=="7") { $mes="07"; $mes_="07";}
if ($mes=="8") { $mes="08"; $mes_="08";}
if ($mes=="9") { $mes="09"; $mes_="09";}
if ($mes>9) $mes_=$mes;
}
if ($mes=="01") $mes="Январь";
if ($mes=="02") $mes="Февраль";
if ($mes=="03") $mes="Март";
if ($mes=="04") $mes="Апрель";
if ($mes=="05") $mes="Май";
if ($mes=="06") $mes="Июнь";
if ($mes=="07") $mes="Июль";
if ($mes=="08") $mes="Август";
if ($mes=="09") $mes="Сентябрь";
if ($mes=="10") $mes="Октябрь";
if ($mes=="11") $mes="Ноябрь";
if ($mes=="12") $mes="Декабрь";
//echo $mes;
$mes1_=$mes_-1;
if ($mes1_==0) {$mes1_="12"; $y_1=$y-1;} else $y_1=$y;
if ($mes1_=="01") $mes1="Январь";
if ($mes1_=="02") $mes1="Февраль";
if ($mes1_=="03") $mes1="Март";
if ($mes1_=="04") $mes1="Апрель";
if ($mes1_=="05") $mes1="Май";
if ($mes1_=="06") $mes1="Июнь";
if ($mes1_=="07") $mes1="Июль";
if ($mes1_=="08") $mes1="Август";
if ($mes1_=="09") $mes1="Сентябрь";
if ($mes1_=="10") $mes1="Октябрь";
if ($mes1_=="11") $mes1="Ноябрь";
if ($mes1_=="12") $mes1="Декабрь";
$mes2_=$mes_+1;
if ($mes2_==13) {$mes2_="1"; $y_2=$y+1;} else $y_2=$y;
if ($mes2_=="1") $mes2="Январь";
if ($mes2_=="2") $mes2="Февраль";
if ($mes2_=="3") $mes2="Март";
if ($mes2_=="4") $mes2="Апрель";
if ($mes2_=="5") $mes2="Май";
if ($mes2_=="6") $mes2="Июнь";
if ($mes2_=="7") $mes2="Июль";
if ($mes2_=="8") $mes2="Август";
if ($mes2_=="9") $mes2="Сентябрь";
if ($mes2_=="10") $mes2="Октябрь";
if ($mes2_=="11") $mes2="Ноябрь";
if ($mes2_=="12") $mes2="Декабрь";
// день недели
$nedel=jddayofweek ( cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 0 );
if ($nedel==1) $nedel_b="пон";
if ($nedel==2) $nedel_b="вт";
if ($nedel==3) $nedel_b="ср";
if ($nedel==4) $nedel_b="чт";
if ($nedel==5) $nedel_b="пят";
if ($nedel==6) $nedel_b="суб";
if ($nedel==0) $nedel_b="вос";
//echo $nedel_b;
echo '<a href=/?mes='.$mes1_.'&y='.$y_1.'>'.$mes1.'</a> ';
echo '<font size=5><b>'.$mes.' '.$y.'</b></font>';
echo ' <a href=/?mes='.$mes2_.'&y='.$y_2.'>'.$mes2.'</a> ';
if (!$mes) echo draw_calendar(date("m"),$y);
echo draw_calendar($mes_,$y);
//<a href=javascript:window.alert("< ?php echo $nedel_b; ? >") id="test" name="test" ><font size=3 color=blue>вот</font></br></a>
?>
почему-то mysql_query работает, а $db->query
поключение к базе через PDO есть, все обращения вне этого места обрабатывает, а вот именно в этом месте PDO и не срабатывает, прямо заколдованное.
Код:
<?php
include "db_calendar.php";
/* Функция генерации календаря */
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;
}
/* СПОСОБ ПРИМЕНЕНИЯ */
// Месяц
if (!$y) $y=date("Y");
if (!$mes)
{ $mes=date("m"); $mes_=date("m");}
else
{
if ($mes=="1") { $mes="01"; $mes_="01";}
if ($mes=="2") { $mes="02"; $mes_="02";}
if ($mes=="3") { $mes="03"; $mes_="03";}
if ($mes=="4") { $mes="04"; $mes_="04";}
if ($mes=="5") { $mes="05"; $mes_="05";}
if ($mes=="6") { $mes="06"; $mes_="06";}
if ($mes=="7") { $mes="07"; $mes_="07";}
if ($mes=="8") { $mes="08"; $mes_="08";}
if ($mes=="9") { $mes="09"; $mes_="09";}
if ($mes>9) $mes_=$mes;
}
if ($mes=="01") $mes="Январь";
if ($mes=="02") $mes="Февраль";
if ($mes=="03") $mes="Март";
if ($mes=="04") $mes="Апрель";
if ($mes=="05") $mes="Май";
if ($mes=="06") $mes="Июнь";
if ($mes=="07") $mes="Июль";
if ($mes=="08") $mes="Август";
if ($mes=="09") $mes="Сентябрь";
if ($mes=="10") $mes="Октябрь";
if ($mes=="11") $mes="Ноябрь";
if ($mes=="12") $mes="Декабрь";
//echo $mes;
$mes1_=$mes_-1;
if ($mes1_==0) {$mes1_="12"; $y_1=$y-1;} else $y_1=$y;
if ($mes1_=="01") $mes1="Январь";
if ($mes1_=="02") $mes1="Февраль";
if ($mes1_=="03") $mes1="Март";
if ($mes1_=="04") $mes1="Апрель";
if ($mes1_=="05") $mes1="Май";
if ($mes1_=="06") $mes1="Июнь";
if ($mes1_=="07") $mes1="Июль";
if ($mes1_=="08") $mes1="Август";
if ($mes1_=="09") $mes1="Сентябрь";
if ($mes1_=="10") $mes1="Октябрь";
if ($mes1_=="11") $mes1="Ноябрь";
if ($mes1_=="12") $mes1="Декабрь";
$mes2_=$mes_+1;
if ($mes2_==13) {$mes2_="1"; $y_2=$y+1;} else $y_2=$y;
if ($mes2_=="1") $mes2="Январь";
if ($mes2_=="2") $mes2="Февраль";
if ($mes2_=="3") $mes2="Март";
if ($mes2_=="4") $mes2="Апрель";
if ($mes2_=="5") $mes2="Май";
if ($mes2_=="6") $mes2="Июнь";
if ($mes2_=="7") $mes2="Июль";
if ($mes2_=="8") $mes2="Август";
if ($mes2_=="9") $mes2="Сентябрь";
if ($mes2_=="10") $mes2="Октябрь";
if ($mes2_=="11") $mes2="Ноябрь";
if ($mes2_=="12") $mes2="Декабрь";
// день недели
$nedel=jddayofweek ( cal_to_jd(CAL_GREGORIAN, date("m"),date("d"), date("Y")) , 0 );
if ($nedel==1) $nedel_b="пон";
if ($nedel==2) $nedel_b="вт";
if ($nedel==3) $nedel_b="ср";
if ($nedel==4) $nedel_b="чт";
if ($nedel==5) $nedel_b="пят";
if ($nedel==6) $nedel_b="суб";
if ($nedel==0) $nedel_b="вос";
//echo $nedel_b;
echo '<a href=/?mes='.$mes1_.'&y='.$y_1.'>'.$mes1.'</a> ';
echo '<font size=5><b>'.$mes.' '.$y.'</b></font>';
echo ' <a href=/?mes='.$mes2_.'&y='.$y_2.'>'.$mes2.'</a> ';
if (!$mes) echo draw_calendar(date("m"),$y);
echo draw_calendar($mes_,$y);
//<a href=javascript:window.alert("< ?php echo $nedel_b; ? >") id="test" name="test" ><font size=3 color=blue>вот</font></br></a>
?>