Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да извлечете следващия елемент в списък с MySQL записи?

Всъщност не използвам Symfony, но ако използвате дори отдалечена нова версия на Propel с него, тогава имате достъп до paginate() метод което в крайна сметка може да е много по-добро за вас.

$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>";
  }
}

Ако наистина искате да го направите по своя начин, може да искате да премахнете изцяло ограничението от ItemId и просто да добавите отместване заедно с лимита си:

// 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Производителност на Mysql Query. Коя е най-добрата?

  2. mysqlimport с помощта на dump

  3. как да сравним дата и час в php/mysql

  4. Регистрирайте предупрежденията в таблица

  5. mysql - избиране на стойности от таблица с даден номер на колона