$sql = "SELECT news.*, images.filename, UNIX_TIMESTAMP(created) AS ctime, images.filename FROM news LEFT JOIN images ON images.news_id = news.id WHERE 1 AND created <= NOW() $sql_date order by created desc LIMIT $start, $positions";
<?php error_reporting(E_ALL); /* * Блок используется для вывода новостей по id или для вывода всех новостей в блочном виде */ $noid = ""; $news_main = ""; $news_list = ""; $news_image = ""; if (isset($_GET['id']) && is_numeric($_GET['id'])) { $newsId = (int) $_GET['id']; $q = mysql_query("SELECT *, DATE_FORMAT(created, '%H:%i') as ctime FROM news WHERE id = $newsId"); /*Выводим количество просмотров*/ $q3 = mysql_query("SELECT counter FROM news WHERE id = $newsId"); $res = mysql_fetch_array($q3); $count_of_views = $res['counter']; $count_of_views++; $q3 = mysql_query("UPDATE news SET counter='$count_of_views' WHERE id = $newsId"); //Debugger("TRUE1","",true); if (mysql_num_rows($q) > 0) { $noid = "yes"; $news_main = mysql_fetch_assoc($q); $_title = $news_main['title']; if(!mysql_num_rows(mysql_query("SELECT filename FROM images WHERE news_id = $newsId"))) $news_image = CONF_STYLE_IMAGE_PATCH."images/newsterm.png"; else $news_image = mysql_result(mysql_query("SELECT filename FROM images WHERE news_id = $newsId"), 0); //Debugger($news_image,"",true); $news_image = file_exists("images/1_" . $news_image) ? SITE_DOMEN."images/1_" . $news_image : CONF_STYLE_IMAGE_PATCH."newsterm.png"; $author_image = $news_main['author_image']; $tags = rtrim($news_main['tagid'], ','); $news_context = mysql_query("SELECT * FROM tags WHERE id IN($tags)"); $news_t = mysql_query("SELECT * FROM news WHERE id != ".$news_main['id']." AND tagid IN($tags) ORDER BY created DESC LIMIT 5"); $news_cat = mysql_query("SELECT * FROM news WHERE catid = $news_main[catid] AND id !=$newsId ORDER BY created DESC LIMIT 2"); $news_video = mysql_fetch_assoc(mysql_query("SELECT * FROM videos WHERE news_id = $newsId AND deleted = false")); /*$news_list = mysql_query("SELECT *, DATE_FORMAT(created, '%H:%m') as date FROM news WHERE created <= NOW() ORDER by created DESC LIMIT 13");*/ $news_list = mysql_query("SELECT *, UNIX_TIMESTAMP(created) as date FROM news WHERE created <= NOW() ORDER by created DESC LIMIT 8"); $cat = mysql_fetch_assoc(mysql_query("SELECT * FROM categories WHERE id = $news_main[catid]")); $cat['name'] = $_LANG['ID_CAT'][$_SLANG][$cat['id']]; if($_SLANG=='en') $cat['name'] = strtoupper ($cat['name']); else $cat['name'] = strupper($cat['name']); } else header ("Location: ".CONF_SITE_NEWS); } else { /* * Блок $date - используется для поиска даты выполняется через get запрос * Заметка: Нужно будет реализовать пункт поиска новости по дате */ $noid = "no"; $date = isset($_GET['date']) ? $_GET['date'] : ""; if(!get_magic_quotes_gpc()) { $date = addslashes($date); } if(!empty($date)) { $sql_date = " AND DATE(created) = '$date' "; } else $sql_date = ""; $total = mysql_result( mysql_query("SELECT COUNT(id) FROM news WHERE created <= NOW() $sql_date AND hide = 0"), 0); $positions = $config['positions']; $page = isset($_GET['page']) && is_numeric($_GET['page']) ? abs((int)$_GET['page']) : 1; $total = intval(($total - 1) / $positions) + 1; $page = intval($page); if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; $start = $page * $positions - $positions; $sql = "SELECT news.*, images.filename, UNIX_TIMESTAMP(created) AS ctime, images.filename FROM news LEFT JOIN images ON images.news_id = news.id WHERE 1 AND created <= NOW() $sql_date order by created desc LIMIT $start, $positions"; $news_all = mysql_query($sql); if (!mysql_num_rows($news_all)) $parts = $_LANG['LOGIC_NEWS_NONEN'][$_SLANG]; else { $parts = ""; while ($news = mysql_fetch_assoc($news_all)) { if (date("Ymd") != date("Ymd", $news['ctime'])) { $date = dateText($news['ctime']) . date(" в H:i", $news['ctime']); } else { $date = date("сегодня в H:i", $news['ctime']); } $img = file_exists("images/1_".$news['filename']) ? SITE_DOMEN."images/1_".$news['filename'] : CONF_STYLE_IMAGE_PATCH."newsterm.png"; $parts .= ' <div class="bl-news-all"> <div class="bl-news-all-top"> <div class="bl-news-all-img"> <div class="bl-news-text-date">'.$date.'</div> <img width="" height="" src="'.$img.'"/></div> <a href="'.CONF_SITE_NEWS.'?id='.$news['id'].'">'.$titile_news = mb_substr($news['title'], 0, 80, 'UTF-8') . '...' .'</a> <div class="block-clear"></div> </div> </div>'; } } $left = ""; $right = ""; $center = ""; /* if ($pageN > 1) { $left = "<div class='bl-news-pleft'><a href='news.php?page=" . ($pageN - 1) . "'><<<</a></div>"; } if ($total > $positions && $pageN != ceil($total / $positions)) { $right = "<div class='bl-news-pright'><a href='new_news.php?page=" . ($pageN + 1) . "'>>>></a></div>"; } */ // Проверяем нужны ли стрелки назад if ($page != 1) $left .= '<div class="bl-news-pleft"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page=1"><<</a> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 1) .'"><</a> </div>'; // Находим две ближайшие станицы с обоих краев, если они есть if($page - 2 > 0) $left .= '<div class="bl-news-pcenter"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 2) .'">'. ($page - 2) .'</a></div>'; if($page - 1 > 0) $left .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 1) .'">'. ($page - 1) .'</a></div>'; if($page + 2 <= $total) $right .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 1) .'">'. ($page + 1) .'</a></div>'; if($page + 1 <= $total) $right .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 2) .'">'. ($page + 2) .'</a></div>'; // Проверяем нужны ли стрелки вперед if ($page != $total) $right .= '<div class="bl-news-pright"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 1) .'">></a> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page=' .$total. '">>></a> </div>'; // Вывод меню $pages = $left.'<div class="bl-news-pcenter"><b>'.$page.'</b></div>'.$right; } ?> Code <?php error_reporting(E_ALL); /* * Блок используется для вывода новостей по id или для вывода всех новостей в блочном виде */ $noid = ""; $news_main = ""; $news_list = ""; $news_image = ""; if (isset($_GET['id']) && is_numeric($_GET['id'])) { $newsId = (int) $_GET['id']; $q = mysql_query("SELECT *, DATE_FORMAT(created, '%H:%i') as ctime FROM news WHERE id = $newsId"); /*Выводим количество просмотров*/ $q3 = mysql_query("SELECT counter FROM news WHERE id = $newsId"); $res = mysql_fetch_array($q3); $count_of_views = $res['counter']; $count_of_views++; $q3 = mysql_query("UPDATE news SET counter='$count_of_views' WHERE id = $newsId"); //Debugger("TRUE1","",true); if (mysql_num_rows($q) > 0) { $noid = "yes"; $news_main = mysql_fetch_assoc($q); $_title = $news_main['title']; if(!mysql_num_rows(mysql_query("SELECT filename FROM images WHERE news_id = $newsId"))) $news_image = CONF_STYLE_IMAGE_PATCH."images/newsterm.png"; else $news_image = mysql_result(mysql_query("SELECT filename FROM images WHERE news_id = $newsId"), 0); //Debugger($news_image,"",true); $news_image = file_exists("images/1_" . $news_image) ? SITE_DOMEN."images/1_" . $news_image : CONF_STYLE_IMAGE_PATCH."newsterm.png"; $author_image = $news_main['author_image']; $tags = rtrim($news_main['tagid'], ','); $news_context = mysql_query("SELECT * FROM tags WHERE id IN($tags)"); $news_t = mysql_query("SELECT * FROM news WHERE id != ".$news_main['id']." AND tagid IN($tags) ORDER BY created DESC LIMIT 5"); $news_cat = mysql_query("SELECT * FROM news WHERE catid = $news_main[catid] AND id !=$newsId ORDER BY created DESC LIMIT 2"); $news_video = mysql_fetch_assoc(mysql_query("SELECT * FROM videos WHERE news_id = $newsId AND deleted = false")); /*$news_list = mysql_query("SELECT *, DATE_FORMAT(created, '%H:%m') as date FROM news WHERE created <= NOW() ORDER by created DESC LIMIT 13");*/ $news_list = mysql_query("SELECT *, UNIX_TIMESTAMP(created) as date FROM news WHERE created <= NOW() ORDER by created DESC LIMIT 8"); $cat = mysql_fetch_assoc(mysql_query("SELECT * FROM categories WHERE id = $news_main[catid]")); $cat['name'] = $_LANG['ID_CAT'][$_SLANG][$cat['id']]; if($_SLANG=='en') $cat['name'] = strtoupper ($cat['name']); else $cat['name'] = strupper($cat['name']); } else header ("Location: ".CONF_SITE_NEWS); } else { /* * Блок $date - используется для поиска даты выполняется через get запрос * Заметка: Нужно будет реализовать пункт поиска новости по дате */ $noid = "no"; $date = isset($_GET['date']) ? $_GET['date'] : ""; if(!get_magic_quotes_gpc()) { $date = addslashes($date); } if(!empty($date)) { $sql_date = " AND DATE(created) = '$date' "; } else $sql_date = ""; $total = mysql_result( mysql_query("SELECT COUNT(id) FROM news WHERE created <= NOW() $sql_date AND hide = 0"), 0); $positions = $config['positions']; $page = isset($_GET['page']) && is_numeric($_GET['page']) ? abs((int)$_GET['page']) : 1; $total = intval(($total - 1) / $positions) + 1; $page = intval($page); if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; $start = $page * $positions - $positions; $sql = "SELECT news.*, images.filename, UNIX_TIMESTAMP(created) AS ctime, images.filename FROM news LEFT JOIN images ON images.news_id = news.id WHERE 1 AND created <= NOW() $sql_date order by created desc LIMIT $start, $positions"; $news_all = mysql_query($sql); if (!mysql_num_rows($news_all)) $parts = $_LANG['LOGIC_NEWS_NONEN'][$_SLANG]; else { $parts = ""; while ($news = mysql_fetch_assoc($news_all)) { if (date("Ymd") != date("Ymd", $news['ctime'])) { $date = dateText($news['ctime']) . date(" в H:i", $news['ctime']); } else { $date = date("сегодня в H:i", $news['ctime']); } $img = file_exists("images/1_".$news['filename']) ? SITE_DOMEN."images/1_".$news['filename'] : CONF_STYLE_IMAGE_PATCH."newsterm.png"; $parts .= ' <div class="bl-news-all"> <div class="bl-news-all-top"> <div class="bl-news-all-img"> <div class="bl-news-text-date">'.$date.'</div> <img width="" height="" src="'.$img.'"/></div> <a href="'.CONF_SITE_NEWS.'?id='.$news['id'].'">'.$titile_news = mb_substr($news['title'], 0, 80, 'UTF-8') . '...' .'</a> <div class="block-clear"></div> </div> </div>'; } } $left = ""; $right = ""; $center = ""; /* if ($pageN > 1) { $left = "<div class='bl-news-pleft'><a href='news.php?page=" . ($pageN - 1) . "'><<<</a></div>"; } if ($total > $positions && $pageN != ceil($total / $positions)) { $right = "<div class='bl-news-pright'><a href='new_news.php?page=" . ($pageN + 1) . "'>>>></a></div>"; } */ // Проверяем нужны ли стрелки назад if ($page != 1) $left .= '<div class="bl-news-pleft"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page=1"><<</a> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 1) .'"><</a> </div>'; // Находим две ближайшие станицы с обоих краев, если они есть if($page - 2 > 0) $left .= '<div class="bl-news-pcenter"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 2) .'">'. ($page - 2) .'</a></div>'; if($page - 1 > 0) $left .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page - 1) .'">'. ($page - 1) .'</a></div>'; if($page + 2 <= $total) $right .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 1) .'">'. ($page + 1) .'</a></div>'; if($page + 1 <= $total) $right .= '<div class="bl-news-pcenter"><a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 2) .'">'. ($page + 2) .'</a></div>'; // Проверяем нужны ли стрелки вперед if ($page != $total) $right .= '<div class="bl-news-pright"> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page='. ($page + 1) .'">></a> <a class="bg-animate" href="'.CONF_SITE_NEWS.'?page=' .$total. '">>></a> </div>'; // Вывод меню $pages = $left.'<div class="bl-news-pcenter"><b>'.$page.'</b></div>'.$right; } ?>
mysql в новых версиях PHP отключён. юзай msqli, как минимум, а лучше PDO библиотеки и не будет таких вопросов)