sql >> Databáze >  >> RDS >> Mysql

Jak získat další položku v seznamu záznamů MySQL?

Ve skutečnosti nepoužívám Symfony, ale pokud s ním používáte i vzdáleně nejnovější verzi Propel, máte přístup k paginate() metoda což pro vás může být nakonec mnohem lepší.

$pager = CartQuery::create()
           ->filterByCategory($category)
           ->orderBy(CartPeer::ITEM_NAME)
           ->paginate($pageToLoad, $resultsPerPage);
foreach($pager as $result) {
  // do something with the record
}
if ($pager->haveToPaginate()) {
  // build some paging items using PropelModelPager methods:
  if (!$pager->isFirstPage()) {
    echo "<a href='?page=".$pager->getPreviousPage()."'>Previous</a>";
  }
  if (!$pager->isLastPage()) {
    echo "<a href='?page=".$pager->getNextPage()."'>Next</a>";
  }
}

Pokud to opravdu chcete udělat po svém, možná budete chtít omezení podle ItemId úplně odstranit a jednoduše přidat offset spolu s vaším limitem:

// This will be however many results have already been shown (page size?)
$offset = 10;

$c = new Criteria();
$c->add(CartPeer::CATEGORY, $category);
$c->addAscendingOrderByColumn(CartPeer::ITEM_NAME);
$c->setOffset($offset);
$this->next = CartPeer::doSelectOne($c);



  1. Lehká instalace WordPress:Jak nainstalovat WordPress s SQLite

  2. Výběr nejvyšší mzdy

  3. Příklad demonstrující zranitelnost SQL Injection a její prevence v Oracle

  4. Rails 5 Mysql UUID