Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как сделать навигацию на самописной странице без новостей?

Как сделать навигацию на самописной странице без новостей?


     18.07.2015    Все вопросы » Общие вопросы    1897

вопрос
Есть страница /?do=stranica, на ней выводятся ссылки на другие аналогичные страницы, т.к. ссылок много, то нужно сделать навигацию, это возможно? И если да, то можете показать, как аякс ее реализовать?

Ответа пока нет


3 комментария

pavel31
Юзер

pavel31 - 19 июля 2015 20:58 -


// JS
function pages(page){
    $.get(dle_root+'engine/ajax/ajax.php',{page:page},function(data){
        $(".news-item-content").html(data);
    });return false;
}

// в клссе news-item-content будет выводится информация из php ajax файла
// создаййте php ajax файл ajax.php добавьте в него ссылку $page = $_REQUEST['page'];

// PHP
$perpage = 10; // количество выодимых страниц
$page = max(1,intval($_REQUEST['page']));
$cstart = ($page-1)*$perpage;
$count_data = $db->super_query("SELECT COUNT(*) as count FROM ".PREFIX."_music"); // таблицу music измените на свою!
$count_all = $count_data['count'];
if($count_data['count'] > $perpage) {
    $totalPages = ceil($count_all / $perpage);
    $navigation = ajax_navigation($page, $totalPages);
}

// в sql запрос страницы добавьте - LIMIT ".$cstart.",".$perpage;

// ajax навигация
function ajax_navigation($page, $totalPages) {
    if($page>$totalPages) {
        $page = $totalPages;
    }
    if($page < 2) {
        $navigation = "<span title=\"Назад\">&laquo;</span>";
    }
    else {
        $prev = $page - 1;
        $navigation = "<a href=\"#\" onclick=\"pages({$prev});return false;\" title=\"Назад\">&laquo;</a>"; // Назад
    }
    for($i = 1; $i <= $totalPages; $i++) {
        if($page == $i) {
            $navigation .= "<span title=\"{$i}\">{$i}</span>";
        }
        else {
            $navigation .= "<a href=\"#\" onclick=\"pages({$i});return false;\">{$i}</a>"; // страницы
        }
    }
    if($page == $totalPages) {
        $navigation .= "<span title=\"Вперед\">&raquo;</span>";
    }
    else {
        $next = min($page +1, $totalPages);
        $navigation .= "<a href=\"#\" onclick=\"pages({$next});return false;\" title=\"Вперед\">&raquo;</a>"; // Вперед
    }
    return "<div class=\"navigation\">" . $navigation . "</div>";
}

echo $navigation; // вывод навигации

FC1488SM
Юзер

FC1488SM - 19 июля 2015 23:08 -

спасибо, а можете еще написать, как выводить на самой странице?

pavel31
Юзер

pavel31 - 20 июля 2015 01:53 -

FC1488SM,
В Скайп мне напишите pavel3177 там завтра обсудим как что сделать, хотя я уже внизу кода написал переменную для вывода навигации.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх