Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter分页未显示查询结果的第一行_Php_Codeigniter_Pagination_Limit_Offset - Fatal编程技术网

Php Codeigniter分页未显示查询结果的第一行

Php Codeigniter分页未显示查询结果的第一行,php,codeigniter,pagination,limit,offset,Php,Codeigniter,Pagination,Limit,Offset,正如您在下面看到的,我正在查询数据库以获取问题列表 我的模型返回一个问题计数(count_questions())以及问题本身(get_questions($args)),然后对这些问题进行分页 $limit = '10'; $count = $this->forum_model->count_questions(); $offset = $this->uri->segment(3, 0); $this->load->

正如您在下面看到的,我正在查询数据库以获取问题列表

我的模型返回一个问题计数(
count_questions()
)以及问题本身(
get_questions($args)
),然后对这些问题进行分页

    $limit  = '10';
    $count  = $this->forum_model->count_questions();
    $offset    = $this->uri->segment(3, 0);

    $this->load->library('pagination');

    $config['base_url']         = base_url() . 'forum/all/';
    $config['total_rows']       = $count;
    $config['per_page']         = $limit;
    $config['full_tag_open']    = '<div class="pagination">';
    $config['full_tag_close']   = '</div>';
    $config['uri_segment']          = 3;

    $this->pagination->initialize($config);

    $data['q']          = $this->forum_model->get_questions(NULL, $limit, $offset);

    $data['pag_links']  = $this->pagination->create_links();
模型(计算问题)

默认情况下,如果该段不存在,该函数将返回FALSE(布尔值)。所以我认为这是不对的

($offset      === NULL) ? ($offset = 0) : ($offset = $offset);

return$query->num\u行应该是
return$query->num_rows()

另外,尝试将
LIMIT$LIMIT OFFSET$OFFSET
更改为
LIMIT$OFFSET$LIMIT

问题是,当默认页面从第1行开始执行它时,它会从零开始记录,这就是第一行丢失的原因。我应用了以下代码来解决这个问题

$page=($this->uri->segment(3))$此->uri->段(3):0


请根据您的请求URL编辑片段

您能显示您在模型中使用的代码吗?更新帖子-让我知道您的想法-谢谢
论坛模型->计算问题()
?oops-刚刚添加了一个好消息,如果在
get_questions()
方法中删除查询的最后两行,返回多少行?
$this->uri->segment
的第二个参数是如果uri段不存在,将返回什么<代码>$this->uri->segment(3,0)将返回
0
(非FALSE)。您正在使用
$config['uri_segment']=3
(分页函数自动确定URI的哪个段包含页码。如果需要其他内容,可以指定它。)和
$offset=$this->URI->segment(3,0)。。。所以我认为您在第1页,偏移量也将设置为1(因此第一行将被跳过)"托尔,你发现问题了吗?嘿@rocket,谢谢你的建议-做出了改变,但仍然没有成功-那一排仍然没有出现在前面end@Torr:尝试将
LIMIT$LIMIT OFFSET$OFFSET
更改为
LIMIT$OFFSET$LIMIT
。不幸的是,不行,仍然会忽略该该死的行-顺便说一句,这是我表格中的第一行被忽略ted-所有其他的显示都很好-正如我在上面的OP中所说的,如果我不使用分页,第一行显示up@Torr:如果您转到分页的第2页,是否看到缺少的行?可能您是
ORDER
ing错了?无论页面如何,都找不到缺少的行
function count_questions()
{
    $query = $this->db->query("
    SELECT  *
    FROM    forum_qa
    WHERE   forum_qa_type = 1;
    ");

    return $query->num_rows;
}
$this->uri->segment(3, 0);
($offset      === NULL) ? ($offset = 0) : ($offset = $offset);