1. Go to this page and download the library: Download iesde/pagerfanta 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/ */
iesde / pagerfanta example snippets
use Pagerfanta\Adapter\ArrayAdapter;
use Pagerfanta\Pagerfanta;
$adapter = new ArrayAdapter($array);
$pagerfanta = new Pagerfanta($adapter);
$pagerfanta->setMaxPerPage($maxPerPage); // 10 by default
$maxPerPage = $pagerfanta->getMaxPerPage();
$pagerfanta->setCurrentPage($currentPage); // 1 by default
$currentPage = $pagerfanta->getCurrentPage();
$nbResults = $pagerfanta->getNbResults();
$currentPageResults = $pagerfanta->getCurrentPageResults();
$pagerfanta->getNbPages();
$pagerfanta->haveToPaginate(); // whether the number of results is higher than the max per page
$pagerfanta->hasPreviousPage();
$pagerfanta->getPreviousPage();
$pagerfanta->hasNextPage();
$pagerfanta->getNextPage();
$pagerfanta->getCurrentPageOffsetStart();
$pagerfanta->getCurrentPageOffsetEnd();
if (isset($_GET["page"])) {
$pagerfanta->setCurrentPage($_GET["page"]);
}
/**
* Returns the number of results.
*
* @return integer The number of results.
*/
function getNbResults();
/**
* Returns an slice of the results.
*
* @param integer $offset The offset.
* @param integer $length The length.
*
* @return array|\Iterator|\IteratorAggregate The slice.
*/
function getSlice($offset, $length);
use Pagerfanta\Adapter\ArrayAdapter;
$adapter = new ArrayAdapter($array);
use Pagerfanta\Adapter\MongoAdapter;
$cursor = $collection->find();
$adapter = new MongoAdapter($cursor);
use Pagerfanta\Adapter\MandangoAdapter;
$query = $mandango->getRepository('Model\Article')->createQuery();
$adapter = new MandangoAdapter($query);
use Pagerfanta\Adapter\DoctrineDbalAdapter;
use Doctrine\DBAL\Query\QueryBuilder;
$queryBuilder = new QueryBuilder($conn);
$queryBuilder->select('p.*')->from('posts', 'p');
$countQueryBuilderModifier = function ($queryBuilder) {
$queryBuilder->select('COUNT(DISTINCT p.id) AS total_results')
->setMaxResults(1);
};
$adapter = new DoctrineDbalAdapter($queryBuilder, $countQueryBuilderModifier);
use Pagerfanta\Adapter\DoctrineDbalSingleTableAdapter;
use Doctrine\DBAL\Query\QueryBuilder;
$queryBuilder = new QueryBuilder($conn);
$queryBuilder->select('p.*')->from('posts', 'p');
$countField = 'p.id';
$adapter = new DoctrineDbalSingleTableAdapter($queryBuilder, $countField);
use Pagerfanta\Adapter\DoctrineORMAdapter;
$queryBuilder = $entityManager->createQueryBuilder()
->select('u')
->from('Model\Article', 'u');
$adapter = new DoctrineORMAdapter($queryBuilder);
use Pagerfanta\Adapter\DoctrineODMMongoDBAdapter;
$queryBuilder = $documentManager->createQueryBuilder('Model\Article');
$adapter = new DoctrineODMMongoDBAdapter($queryBuilder);
use Pagerfanta\Adapter\DoctrineODMPhpcrAdapter;
$queryBuilder = $documentManager->createQueryBuilder();
$queryBuilder->from('Model\Article');
$adapter = new DoctrineODMPhpcrAdapter($queryBuilder);
use Pagerfanta\Adapter\DoctrineCollectionAdapter;
$user = $em->find("Pagerfanta\Tests\Adapter\DoctrineORM\User", 1);
$adapter = new DoctrineCollectionAdapter($user->getGroups());
use Pagerfanta\Adapter\DoctrineSelectableAdapter;
use Doctrine\Common\Collections\Criteria;
$user = $em->find("Pagerfanta\Tests\Adapter\DoctrineORM\User", 1);
$comments = $user->getComments();
$criteria = Criteria::create()->andWhere(Criteria::expr()->in('id', array(1,2,3));
$adapter = new DoctrineSelectableAdapter($comments, $criteria);
use Elastica\Index;
use Elastica\Query;
use Elastica\Query\Term;
use Pagerfanta\Adapter\ElasticaAdapter;
// Searchable can be any valid searchable Elastica object. For example a Type or Index
$searchable = new Index($elasticaClient, 'index_name');
// A Query can be any valid Elastica query (json, array, Query object)
$query = new Query::create(new Term(array(
'name' => 'Fred'
));
$adapter = new ElasticaAdapter($searchable, $query);
use Pagerfanta\Adapter\PropelAdapter;
$adapter = new PropelAdapter($query);
use Pagerfanta\Adapter\Propel2Adapter;
$adapter = new Propel2Adapter($query);
use Pagerfanta\Adapter\SolariumAdapter;
$query = $solarium->createSelect();
$query->setQuery('search term');
$adapter = new SolariumAdapter($solarium, $query);
use Pagerfanta\Adapter\FixedAdapter;
$nbResults = 5;
$results = array(/* ... */);
$adapter = new FixedAdapter($nbResults, $results);
use Pagerfanta\Adapter\ConcatenationAdapter;
$superAdapter = new ConcatenationAdapter(array($adapter1, $adapter2 /* ... */));
/**
* Renders a pagerfanta.
*
* The route generator is any callable to generate the routes receiving the page number
* as first and unique argument.
*
* @param PagerfantaInterface $pagerfanta A pagerfanta.
* @param mixed $routeGenerator A callable to generate the routes.
* @param array $options An array of options (optional).
*/
function render(PagerfantaInterface $pagerfanta, $routeGenerator, array $options = array());
/**
* Returns the canonical name.
*
* @return string The canonical name.
*/
function getName();
use Pagerfanta\View\DefaultView;
$view = new DefaultView();
$options = array('proximity' => 3);
$html = $view->render($pagerfanta, $routeGenerator, $options);
use Pagerfanta\View\TwitterBootstrapView;
$view = new TwitterBootstrapView();
$options = array('proximity' => 3);
$html = $view->render($pagerfanta, $routeGenerator, $options);
use Pagerfanta\View\SemanticUiView;
$view = new SemanticUiView();
$options = array('proximity' => 3);
$html = $view->render($pagerfanta, $routeGenerator, $options);
use Pagerfanta\DefaultView;
use Pagerfanta\OptionableView;
$defaultView = new DefaultView();
// view and default options
$myView1 = new OptionableView($defaultView, array('proximity' => 3));
$myView2 = new OptionableView($defaultView, array('prev_message' => 'Anterior', 'next_message' => 'Siguiente'));
// using in a normal way
$pagerfantaHtml = $myView2->render($pagerfanta, $routeGenerator);
// overwriting default options
$pagerfantaHtml = $myView2->render($pagerfanta, $routeGenerator, array('next_message' => 'Siguiente!!'));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.