我正在尝试一段表现奇怪的代码。
我使用Paul Irish无限卷轴和JQuery砌体插件来显示内容。
内容由sql提取并且有一个设定的数字,目前为20。
这意味着页面将从数据库加载前20行内容,然后在向下滚动时加载下一行。
我在几页上有这个功能,除了一页以外它工作正常。
在此页面上,而不是加载最近的20个帖子,它会加载该特定字段中的每个帖子。有些人有超过5000个帖子,所以它真的会崩溃页面。你可以想象的一个主要问题。
我一直在努力调整代码以寻找异常,并将其缩小(我认为)到一个特定的细分市场。
这是在有效的页面上使用的代码:
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();
}
我知道它与引脚负载限制有关,但我尝试将代码添加到后者但没有成功。
也许在这里有更多了解它的人可以提供更好的见解?
答案 0 :(得分:0)
我认为非常可能当你调用“getEachBoardPins”函数时,你没有设置第二个参数,因此,它默认为false,因此,没有附加限制SQL,所以select语句将运行整个语句。