drt41563 2015-07-23 15:06
浏览 83
已采纳

在codeigniter中的分页。 传递给模型的额外值集和db-> limit不起作用

Pagination in codeigniter. I can't seem to set the limit of posts on every page (it shows all of them on every page). I think the links are working (they show on the uri), but they do not select the rows per page.

The model:

public function index(  $limit,$start,      $var1,$var2,$var3,$var4 ){

$sql = "SELECT 
        trabalho.var1
        trabalho.var2
        empregos.var3
        empregos.var4
        FROM trabalho.empregos
        JOIN trabalho.empresas
        ON empregos.id_empresa = empresas.id_empresa

        WHERE  
           trabalho.var1 LIKE ?
        OR trabalho.var2 LIKE ?
        OR empregos.var3 LIKE ?
        OR empregos.var4 LIKE ?
        ;";

 $variables_form = array($var1,$var2,$var3,$var4);

$this->db->limit($limit, $start);
$query2 = $this->db->query($sql,$variables_form);
return $query2->result();
}

The Controller:

$config['base_url'] = base_url().'index.php/main_controller/index';
$config['total_rows'] = 10;
$config['per_page'] = 5;
$config['num_links'] = 2;
$config["uri_segment"] = 3;
$config['use_page_numbers'] = TRUE;
$this->pagination->initialize($config);

$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;

$data["info"] = $this->search_display_m->
                    index($config["per_page"], $page, 
                    $var1 = 'a', $var2 = 'a', 
                    $var3 = 'a', $var4 = 'a',
                    );

$data["links"] = $this->pagination->create_links();

And the view:

<?php echo $this->pagination->create_links(); ?>

And is there a way to simplify the uri?

  • 写回答

1条回答 默认 最新

  • doujugu1722 2015-07-23 15:48
    关注

    This will work

    public function index(  $limit,$start,      $var1,$var2,$var3,$var4 ){
    
    $sql = "SELECT 
            trabalho.var1
            trabalho.var2
            empregos.var3
            empregos.var4
            FROM trabalho.empregos
            JOIN trabalho.empresas
            ON empregos.id_empresa = empresas.id_empresa
    
            WHERE  
               trabalho.var1 LIKE ?
            OR trabalho.var2 LIKE ?
            OR empregos.var3 LIKE ?
            OR empregos.var4 LIKE ?
            limit $start, $limit
        ;";
    
     $variables_form = array($var1,$var2,$var3,$var4);
    
     $query2 = $this->db->query($sql,$variables_form);
     return $query2->result();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂