Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để truy xuất mục tiếp theo trong danh sách các bản ghi MySQL?

Tôi thực sự không sử dụng Symfony, nhưng nếu bạn đang sử dụng phiên bản Propel thậm chí từ xa với nó thì bạn có quyền truy cập vào paginate() phương pháp cuối cùng có thể tốt hơn rất nhiều cho bạn.

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

Nếu bạn thực sự muốn làm theo cách của mình, bạn có thể muốn loại bỏ hoàn toàn hạn chế bằng ItemId và chỉ cần thêm phần bù cùng với giới hạn của mình:

// 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. truy vấn tốn kém làm hỏng máy chủ cơ sở dữ liệu - đang tìm cách giảm thiểu

  2. Ngăn sql cập nhật các trường trống hoặc trống từ biểu mẫu cập nhật của tôi

  3. mysql-connector python 'IN' toán tử được lưu trữ dưới dạng danh sách

  4. sử dụng LIKE %% với LEFT JOIN

  5. Làm cách nào tôi có thể có các Sự kiện đã lên lịch trong nhật ký MySQL?