Подскажите удобную для вап сайта постр. навигацию! Не смог найти в поисковикая удобную для вап.
11 Дек 2010, 10:40вот смотри.
$num = 3
/количество на страницу
$page = $_GET['page']; //принимаем текущую страницу
$result = mysql_query("SELECT COUNT(*) FROM `articles`"); //считаем количество записей в бд
$posts = mysql_result($result, 0); //посчитали
$total = intval(($posts - 1) / $num) + 1; //фильтруем
$page = intval($page); //фильтруем
if(empty($page) or $page < 0) $page = 1; //проверка
if($page > $total) $page = $total; //проверка
$start = $page * $num - $num; //лимит
$all_article = mysql_query("SELECT * FROM `articles` ORDER by `id` asc LIMIT $start, $num")
/запрос в базу(оптимизируй под себя
в запросе мы установили лимит на вывод из бд LIMIT $start, $num.
Вывод:
if($page-2>0) $page2left='<a href="index.php?page='.($page-2).'">'.($page-2).' </a>';
if($page-1>0) $page1left='<a href="index.php?page='.($page-1).'">'.($page-1).' </a>';
if($page+2<=$total) $page2right='<a href="index.php?page='.($page+2).'">'.($page+2).' </a>';
if($page+3<=$total) $page3right='<a href="index.php?page='.($page+3).'">'.($page+3).' </a>';
if($page+1<= $total) $page1right='<a href="index.php?page='.($page+1).'">'.($page+1).' </a>';
//этот код проверяет, какие ссылки выводить, (вперёд, назад).
Вывод ссылок:
echo $page2left.$page1left.'<font color="red">'.$page.'</font>'.$page1right.$page2right.$page3right;
//вот и всё
kamuik,
Ты предлагаешь, сделать "первую" навигацию на ООП?
Ему нужно понять, как она работает, а не насувать всяких ООП классов.
Я пхп знаю хорошо! Спасибо kamuik он мне вчера и сегодня сильно помог! Установил навигацию получилось красиво!
11 Дек 2010, 13:40
function pagiNation($start, $items, $items_per_page, $links_per_page, $extraQueryString = "") {
$pages = ceil($items / $items_per_page);
if ($pages > 1) {
$tmp = array();
$page = ceil(($start + 1) / $items_per_page);
$links = ceil($pages / $links_per_page);
$link = ceil($page / $links_per_page);
$page_start = $link * $links_per_page - $links_per_page;
$page_end = $page_start + $links_per_page;
$page_end = ($page_end < $pages + 1) ? $page_end : $pages;
$first = $page_start * $items_per_page;
$last = $pages * $items_per_page - $items_per_page;
if ($link > 1) {
$start = $first - $items_per_page * $links_per_page;
$tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?start=0{$extraQueryString}\" title=\"перв.\">««</a>";
$tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?start={$start}{$extraQueryString}\" title=\"пред.\">«</a>";
}
for ($i = $page_start; $i < $page_end; ++$i) {
$start = $i * $items_per_page;
if ($page == $i + 1) {
$tmp[] = "<strong>$page</strong>";
}
else {
$tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?start={$start}{$extraQueryString}\">".($i + 1)."</a>";
}
}
if ($link < $links) {
$start = $page_end * $items_per_page;
$tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?start={$start}{$extraQueryString}\" title=\"след.\">»</a>";
$tmp[] = "<a href=\"{$_SERVER["PHP_SELF"]}?start={$last}{$extraQueryString}\" title=\"посл.\">»»</a>";
}
return implode(" ", $tmp);
}
return false;
}