20) $on_page = 10; } else $on_page = 10; if (isset($_GET['page'])) { $page = intval($_GET['page']); if ($page < 1) $page = 1; } else $page = 1; //$DBC->Query('SELECT COUNT(*) as news_count FROM news WHERE to_main=0'); $DBC->Query('SELECT COUNT(*) as news_count FROM news'); $row = $DBC->Process_first(); $pages_count = $row['news_count'] / $on_page; if ($pages_count * $on_page < $row['news_count']) $pages_count++; $news_nav = '
Новости выводить по:'.($on_page == 5 ? ' 5' : ' 5').($on_page == 10 ? ' 10' : ' 10').($on_page == 20 ? ' 20' : ' 20').' на странице.
'; $news_nav .= '
страница:'; if ($page > 4) $news_nav .= ' новее'; for ($i = $page-3; $i <= $page+3; $i++) if ($i > 0 && $i <= $pages_count) { if ($i == $page) $news_nav .= ' '.$i.''; else $news_nav .= ' '.$i.''; } if ($page < $pages_count-4) $news_nav .= ' старее'; $news_nav .= '
'; echo $news_nav.'

'; echo out_text($main_text); // ? $cur_news = 0; $cur_news_count = 1; $cur_news_date = 0; $news_skip = 0; $news_out = array(); function get_item($row) { global $G_dir; global $cur_news, $cur_news_count, $cur_news_date; global $page, $on_page; global $news_out; if ($row['date'] == $cur_news_date) $cur_news_count++; else { $cur_news_count = 1; $cur_news_date = $row['date']; } $cur_news++; if ($cur_news <= $news_skip) return; if ($row[text]) { //$as=""; $as=''; $es=""; } $thumb=get_image($G_dir,$row[thumb]); $news_out[] = '
'.($thumb ? ''.$row[thumb_alt].'' : '').'

'.$as.date("d.m.y", $row[date]).' - '.$row[name].$es.'

'.$row[text_small].'
'; } // для оптимизации считаем, что больше $on_page новостей в день не может быть $limit_left = ($pages_count-$page-1)*$on_page; if ($limit_left < 0) $limit_left = 0; $DBC->Query('SELECT * FROM news ORDER BY date ASC, id ASC LIMIT '.$limit_left.', '.($on_page*2)); $DBC->Process("get_item"); $news_skip = $DBC->Num_rows() - $on_page; for ($i = count($news_out)-1; $i >= 0; $i--) echo $news_out[$i]; echo $news_nav; include("footer.inc.htm"); ?>