Domanda

Ho uno script che chiama e visualizza dinamicamente le immagini da una directory, quale sarebbe il modo migliore per impaginare questo? Mi piacerebbe essere in grado di controllare il numero di immagini che vengono visualizzate per pagina attraverso una variabile all'interno dello script. Sto pensando di utilizzare URL varriables (ovvero - http://domain.com/page.php? pagina = 1 ) ma non sono sicuro di come procedere.

Grazie per l'aiuto.

È stato utile?

Soluzione

l'impaginazione è lo stesso concetto con o senza sql. hai solo bisogno delle tue variabili di base, quindi puoi creare il contenuto che desideri. ecco alcuni quasi-code:

$itemsPerPage = 5;

$currentPage = isset(

l'impaginazione è lo stesso concetto con o senza sql. hai solo bisogno delle tue variabili di base, quindi puoi creare il contenuto che desideri. ecco alcuni quasi-code:

<*>

spero che ti aiuti a iniziare!

GET['page']) ?

l'impaginazione è lo stesso concetto con o senza sql. hai solo bisogno delle tue variabili di base, quindi puoi creare il contenuto che desideri. ecco alcuni quasi-code:

<*>

spero che ti aiuti a iniziare!

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 }

spero che ti aiuti a iniziare!

Altri suggerimenti

Questa è una funzione che uso spesso per impaginare. Spero che sia d'aiuto.

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

Questo restituirà:

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 tutti questi dati, sei abbastanza ben armato per creare i link di impaginazione.

Se dai il nome alle tue immagini 01.jpg, 02.jpg, è più facile impaginare. Quindi utilizzare glob per ottenere tutte le immagini in un array e ordinarle.

In caso di dubbi usa javascript! Anche questo potrebbe aiutare: http://www.webplicity.net/flexigrid/

Potrebbe essere buono per le app simili a una galleria, anche se non l'ho mai provato :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top