PHP code example of s-damian / damian-pagination-php
1. Go to this page and download the library: Download s-damian/damian-pagination-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use DamianPaginationPhp\Pagination;
$pagination = new Pagination();
$pagination->paginate($countElements);
$limit = $pagination->getLimit();
$offset = $pagination->getOffset();
// Here your SQL query with $limit and $offset
// Then your listing of elements with a loop
echo $pagination->render();
echo $pagination->perPageForm();
use DamianPaginationPhp\Pagination;
// Count articles in DB
function countArticles(): int
{
$sql = "SELECT COUNT(*) AS nb FROM articles";
$query = db()->query($sql);
$result = $query->fetch();
return $result->nb;
}
// Collect articles from DB
function findArticles($limit, $offset)
{
$sql = "SELECT * FROM articles LIMIT ? OFFSET ?";
$query = db()->prepare($sql);
$query->bindValue(1, $limit, PDO::PARAM_INT);
$query->bindValue(2, $offset, PDO::PARAM_INT);
$query->execute();
return $query;
}
// Creating an object Pagination
$pagination = new Pagination();
// Paginate
$pagination->paginate(countArticles());
$limit = $pagination->getLimit();
$offset = $pagination->getOffset();
$articles = findArticles($limit, $offset);
// Show elements one by one that are retrieved from the database
foreach ($articles as $article) {
echo htmlspecialchars($article->title);
}
// Show the Pagination
echo $pagination->render();
// Show the per page
echo $pagination->perPageForm();
use DamianPaginationPhp\Pagination;
$scandir = scandir('your_path_upload');
$listFilesFromPath = [];
$count = 0;
foreach ($scandir as $f) {
if ($f !== '.' && $f !== '..') {
$listFilesFromPath[] = $f;
$count++;
}
}
// Creating an object Pagination
$pagination = new Pagination();
// Paginate
$pagination->paginate($count);
$limit = $pagination->getLimit();
$offset = $pagination->getOffset();
// Listing
$files = array_slice($listFilesFromPath, $offset, $limit);
// Show files one by one
foreach ($files as $file) {
echo $file;
}
// Show the Pagination
echo $pagination->render();
// Show the per page
echo $pagination->perPageForm();
use DamianPaginationPhp\Pagination;
// To change the number of elements displayed per page:
$pagination = new Pagination(['pp' => 50]);
// Is 15 by default
// To change number of links alongside the current page:
$pagination = new Pagination(['number_links' => 10]);
// Is 5 by default
// To change the choice to select potentially generate with perPageForm():
$pagination = new Pagination(['options_select' => [5, 10, 50, 100, 500, 'all']]);
// The value of 'options_select' must be an array.
// Only integers and 'all' are permitted.
// Options are [15, 30, 50, 100, 200, 300] by default.
// To change the CSS style of the pagination (to another CSS class as default):
$pagination = new Pagination(['css_class_p' => 'name-css-class-of-pagination']);
// The CSS class name is by default "pagination".
// To change the CSS style of the pagination active (to another CSS class as default):
$pagination = new Pagination(['css_class_link_active' => 'name-css-class-of-pagination']);
// The active CSS class name is by default "active".
// To change the CSS style of a per page (select) (to another id as default):
$pagination = new Pagination(['css_id_pp' => 'name-css-id-of-per-page-form']);
// The CSS ID name is by default "per-page-form".
// To use Bootstrap CSS:
$pagination = new Pagination(['css_class_p' => 'pagination']);
// The CSS class name is by default "block-pagination"
// We must put "pagination"
use DamianPaginationPhp\Config\Config;
// Change the language to French ('fr').
// Note: It's in English ('en') by default.
Config::set(["lang" => "fr"]);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.