Pregunta

Tengo un script que llama dinámicamente y muestra imágenes de un directorio, ¿cuál sería la mejor manera de paginar esto? Me gustaría poder controlar la cantidad de imágenes que se muestran por página a través de una variable dentro del script. Estoy pensando en usar varriables de URL (es decir, http://domain.com/page.php? página = 1 ) pero no estoy seguro de cómo hacerlo.

Gracias por la ayuda.

¿Fue útil?

Solución

paginación es el mismo concepto con o sin sql. solo necesita sus variables básicas, luego puede crear el contenido que desee. Aquí hay un cuasi código:

$itemsPerPage = 5;

$currentPage = isset(

paginación es el mismo concepto con o sin sql. solo necesita sus variables básicas, luego puede crear el contenido que desee. Aquí hay un cuasi código:

<*>

espero que te ayude a empezar!

GET['page']) ?

paginación es el mismo concepto con o sin sql. solo necesita sus variables básicas, luego puede crear el contenido que desee. Aquí hay un cuasi código:

<*>

espero que te ayude a empezar!

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 }

espero que te ayude a empezar!

Otros consejos

Esta es una función que uso a menudo para hacer paginación. Espero que ayude.

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));

Esto devolverá:

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
)

Con todos esos datos, estás bastante bien armado para hacer los enlaces de paginación.

Si nombras tus imágenes 01.jpg, 02.jpg facilita la paginación. Luego use glob para obtener todas las imágenes en una matriz y ordenarlas.

¡En caso de duda usa javascript! Esto también podría ayudar: http://www.webplicity.net/flexigrid/

Podría ser bueno para aplicaciones similares a galerías, aunque nunca lo he probado :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top