奇妙な動作をしているコードのセグメントを試しています。
コンテンツを表示するために、JQuery masonry プラグインで Paul Irish 無限スクロールを使用しています。
コンテンツは sql によってプルされ、現在 20 のセット数があります。
これは、ページがデータベースからコンテンツの最初の 20 行をロードし、スクロール ダウン時に次の 20 行をロードすることを意味します。
この機能をいくつかのページで使用していますが、1 つのページを除いて正常に動作します。
このページでは、最新の 20 件の投稿を読み込む代わりに、その特定のフィールドのすべての投稿を読み込みます。5000 を超える投稿があるものもあるため、文字通りページがクラッシュします。ご想像のとおり、大きな問題です。
私は異常を探すためにコードを適応させようとしており、特定の 1 つのセグメントに (私が思うに) 絞り込みました。
これは、機能するページで使用されるコードです。
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();
}
これは、機能しないページ上のコードです。
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();
}
ピンの負荷制限に関係していることはわかっていますが、後者にコードを追加しようとしましたが成功しませんでした。
おそらく、それについてもっと知っている誰かが、より良い洞察を提供できるでしょうか?