سؤال

ولقد حصلت على السيناريو الذي يدعو حيوي ويعرض صورا من دليل، ما من شأنه أن يكون أفضل طريقة لرقم الصفحات هذا؟ أود أن تكون قادرة على السيطرة على عدد من الصور التي يتم عرضها في كل صفحة من خلال متغير ضمن البرنامج النصي. أنا أفكر في استخدام varriables URL (أي - http://domain.com/page.php؟ صفحة = 1 ) ولكنني غير متأكد كيفية التوجه نحو ذلك.

وشكرا للمساعدة.

هل كانت مفيدة؟

المحلول

وترقيم الصفحات هو نفس المفهوم مع أو بدون SQL. كل ما تحتاجه المتغيرات الأساسية الخاصة بك، ثم يمكنك إنشاء المحتوى الذي تريد. وهنا بعض رمز شبه:

$itemsPerPage = 5;

$currentPage = isset($_GET['page']) ? $_GET['page'] : 1;
$totalItems = getTotalItems();
$totalPages = ceil($totalItems / $itemsPerPage);

function getTotalItems() {
// since they're images, perhaps we'll scan a directory of images to determine
// how many images we have in total
}

function getItemsFromPage($page, $itemsPerPage) {
// function to grab $itemsPerPage based on which $page we're on
}

function getPager($totalPages, $currentPage) {
// build your pager
}

وأمله في أن يساعدك على بدء!

نصائح أخرى

وهذه هي وظيفة أنا غالبا ما تستخدم للقيام ترقيم الصفحات. نأمل أن يساعد.

function paginate($page, $total, $per_page) {
    if(!is_numeric($page)) { $page = 1; }
    if(!is_numeric($per_page)) { $per_page = 10; }
    if($page > ceil($total / $per_page)) $page = 1;
    if($page == "" || $page == 0) { 
        $page = 1;
        $start = 0;
        $end = $per_page;
    } else {
        $start = ($page * $per_page) - ($per_page);
        $end = $per_page;
    }

    $prev_page = "";
    $next_page = "";
    $all_pages = array();
    $selected = "";
    $enabled = false;

    if($total > $per_page) {
        $enabled = true;
        $prev = $page - 1;
        $prev_page = ($prev == 0) ? 0 : $prev;

        $next = $page + 1;
        $total_pages = ceil($total/$per_page);

        $next_page = ($next <= $total_pages) ? $next : 0;

        for($x=1;$x<=$total_pages;$x++) {
            $all_pages[] = $x;
            $selected = ($x == $page) ? $x : $selected; 
        }
    }

    return array(
        "per_page" => $per_page,
        "page" => $page,
        "prev_page" => $prev_page,
        "all_pages" => $all_pages,
        "next_page" => $next_page,
        "selected" => $selected,
        "start" => $start,
        "end" => $end,
        "enabled" => $enabled
    );
}

// ex: we are in page 2, we have 50 items, and we're showing 10 per page
print_r(paginate(2, 50, 10));

وهذا سيعود:

Array
(
    [per_page] => 10
    [page] => 2
    [prev_page] => 1
    [all_pages] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
            [3] => 4
            [4] => 5
        )
    [next_page] => 3
    [selected] => 2
    [start] => 10
    [end] => 10
    [enabled] => 1
)

ومع كل تلك البيانات كنت ثم مسلحين بشكل جيد جدا لجعل الروابط ترقيم الصفحات.

إذا قمت بتسمية الصور الخاصة بك 01.JPG، 02.jpg لأنه يجعل من السهل على رقم الصفحات. ثم استخدم غلوب للحصول على كل الصور في مجموعة وترتيب هذا الامر.

وعندما تكون في شك استخدام جافا سكريبت! وهذا قد يساعد أيضا: http://www.webplicity.net/flexigrid/

وقد تكون جيدة لتطبيقات مثل صور عائدة، على الرغم من أنني قد حاولت ذلك أبدا:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top