이상한 행동을하는 코드 세그먼트를 만들려고합니다.SQL 항목에 대한 무한 스크롤
콘텐츠를 표시하기 위해 JQuery 석공 술 플러그인에 Paul Irish 무한 스크롤을 사용하고 있습니다.
함유량은 SQL 뽑아이 페이지는 데이터베이스로부터 콘텐츠의 제 20 개 행을로드 수단 현재 일련 번호 20
을 갖고, 그 다음 스크롤링에 다음 20을 적재한다.
몇 페이지에이 기능이 있으며 한 페이지 만 제외하고 제대로 작동합니다.
최근 20 개의 게시물을로드하는 대신이 특정 페이지의 모든 게시물을로드합니다. 일부에는 5000 개 이상의 게시물이 있으므로 문자 그대로 페이지가 손상됩니다. 상상할 수있는 중요한 문제.
나는 예외를 찾기 위해 코드를 수정하려고 시도해 왔고 하나의 특정 세그먼트로 코드를 좁혔다.
function getEachBoardPins($id,$limit=false)
{
$sql = "SELECT
*
FROM
pins
WHERE
board_id = $id
ORDER BY time DESC";
if($limit)
$sql .=" LIMIT 0 ,$limit" ;
$query = $this->db->query($sql);
return $query->result();
}
을 나는 그것이 함께 할 수 알고 :이 작동하지 않는 페이지의 코드가
function index() {
$userID = false;
$order = false;
$limit = $this->config->item('pin_load_limit');
$page = $this->uri->segment(3, 1);
$nextOffset = ($page -1) * $limit;
$nextPage = $page +1;
$sql = "SELECT *
FROM
pins";
if ($userID)
$sql .= " WHERE
user_id= $userID ";
if ($order) {
$sql .= " ORDER BY
' $order'";
} else {
$sql .= " ORDER BY time DESC";
}
$sql .= " LIMIT $nextOffset,$limit";
$query = $this->db->query($sql);
if ($query->num_rows() > 0) {
$row = $query->result();
}
입니다 :
이
작동 페이지에 사용 된 코드입니다 핀로드 한도하지만 난 성공하지 않고 후자에 코드를 추가하려했습니다.아마도 여기에 더 많은 것을 알고있는 누군가가 더 나은 통찰력을 제공 할 수 있습니까?
나는 무엇을 의미하는지 보지만 'if'절없이 $ limit 변수를 문장에 넣으려고 시도했지만 여전히 마지막 20 개가 아닌 모든 행을 가져옵니다. –
나는 오해하고 있습니다. 두 번째 매개 변수를 추가하면 다음과 같이 정의됩니다. $ limit = $ this-> config-> item ('pin_load_limit'); 페이지는 20 만로드됩니다. 어느 것이 'pin_load_limit'이지만 더 이상 스크롤하지 않습니다. –