[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите понять, если не трудно :)
Alex-WN
Добрый день, есть такой календарик http://welcomevolgograd.com/cgi/cal.html
слизанный с какого то урока по php.
get передается год и месяц, после чего проверяется есть ли события в базе на указанный день "SELECT date_start FROM news WHERE date_start='$date_day'", где $date_day=YYYY-MM-dd 00:00:00
так вот все работает, но если перелистывать календарь вперед или назад, то через шесть месяцев выдает "mysql_query(): supplied argument is not a valid MySQL-Link resource", $date_day такого же формата, в феврале ошибка выходила на август, сейчас на сентябрь, и так далее. если руками передать октябрь, то все работает до января следующего года, потом снова ошибка.
Кто нибудь, может знает из-за чего такое, и в каком направлении копать, календарь я с нулю перепишу, но интересно узнать что это такое? smile.gif
Спасибо.
В денвери выдает "mysql_query() expects parameter 2 to be resource, null given in", но вопрос тот же почему через 6 месяцев?
Valick
Цитата
почему через 6 месяцев?

это вопрос к написавшему урок, или к тому кто слизывал
___
ну а для начала неплохо бы код показать


_____________
Стимулятор ~yoomoney - 41001303250491
Alex-WN
Вот код

if(isset($_GET["ym"])){
$year = (int)substr($_GET["ym"], 0, 4);
$month = (int)substr($_GET["ym"], 4, 2);
if($month<10)$month='0'.$month;
}
else{
$month = date("m", mktime(0,0,0,date('m'),1,date('Y')));
$year = date("Y", mktime(0,0,0,date('m'),1,date('Y')));
}
$skip=date("w", mktime(0,0,0,$month,1,$year))-1; // узнаем номер дня недели
if($skip < 0){
$skip=6;
}
$daysInMonth=date("t", mktime(0,0,0,$month,1,$year)); // узнаем число дней в месяце
$calendar_head = '';
$calendar_body = '';
$day = 1;
for($i = 0; $i < 6; $i++){ // Внешний цикл для недель 6 с неполыми
$calendar_body .= '<tr>';
for($j = 0; $j < 7; $j++){ // Внутренний цикл для дней недели
if(($skip>0)or($day > $daysInMonth)){ // выводим пустые ячейки до 1 го дня ип после полного количства дней
$calendar_body .= '<td class="none"></td>';
$skip--;
}
else{
if($j==6){ /* выходной*/
$date_day=$year.'-'.$month.'-'.$day.' 00:00:00';
$query="SELECT date_start FROM news WHERE date_start='$date_day'";
$result = mysql_query($query,$link) or die("Query failed : " . mysql_error());
$row = mysql_fetch_array($result);
if($row['date_start']==$date_day){
$calendar_body .= '<td class="holiday"><a class="weekday" href="http://welcomevolgograd.com/index.html?w=1&d='.$year.'-'.$month.'-'.$day.'" target="_top">'.$day.'</a></td>';
}else{
$calendar_body .= '<td class="holiday">'.$day.'</td>';
}
}
else{ // в противном случае просто выводим день в ячейке
if ((date(j)==$day)&&(date(m)==$month)&&(date(Y)==$year)){//проверяем на текущий день
$calendar_body .= '<td class="today"><a class="weekday" href="http://welcomevolgograd.com/index.html?w=1&d='.$year.'-'.$month.'-'.$day.'" target="_top">'.$day.'</a></td>';
}else{
include'enter.php';
$date_day=$year.'-'.$month.'-'.$day.' 00:00:00';
$query="SELECT date_start FROM news WHERE date_start='$date_day'";
$result = mysql_query($query,$link) or die("Query failed : " . mysql_error());
$row = mysql_fetch_array($result);
if($row['date_start']==$date_day){
$calendar_body .= '<td class="day"><a class="weekday" href="http://welcomevolgograd.com/index.html?w=1&d='.$year.'-'.$month.'-'.$day.'" target="_top">'.$day.'</a></td>';
}else{
$calendar_body .= '<td class="day">'.$day.'</td>';
}
}
}

$day++; // увеличиваем $day
}

}

$calendar_body .= '</tr>'; // закрываем тэг строки
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.