2012-06-22 52 views
5

Tôi đã thấy một số bài đăng cũ xung quanh chủ đề này trên ngăn xếp ngăn xếp nhưng không ai trong số họ dường như cho bất kỳ sự rõ ràng nào. Những gì tôi đã hiểu bằng cách đi qua chúng là người viết mã không hỗ trợ nhiều trang thông qua lớp của nó và bạn phải viết lớp của riêng bạn.Cách tốt nhất để thực hiện phân trang nhiều trang trên một trang trong mã vạch

Tôi tự hỏi nếu đó là trường hợp. Trong trường hợp bất kỳ cơ thể ở đây có một ý tưởng về cách làm điều đó xin vui lòng cho tôi biết. Tôi có ba danh sách mà tôi đang đi vào xem. Tuy nhiên khi tôi phân trang tất cả chúng, tất cả ba danh sách đều phản hồi với cùng một trang bù. Ajax_pagination có phải là lối thoát không?

Vui lòng đề xuất cách thực hiện việc này.

CẬP NHẬT: Đây là mã của tôi và những gì tôi đang cố gắng thực hiện.Đây là tệp xem. Tôi có hai danh sách 1. org_list 2. Ind_list Tôi đang cố chuyển đến hai danh sách này trong các tệp xem kéo (organization_listing, individual_listing) cả hai đều được tải trong tệp xem này và do đó xuất hiện trên cùng một trang. Bây giờ tôi có thể phân trang một danh sách nhưng khi tôi phân trang tệp thứ hai, cả hai đều phản hồi cùng một giá trị uri.

Tôi đang tạo liên kết pagination trong tệp xem (organization_listing, individual_listing).

<?php 

    $config['base_url'] = 'http://localhost/socialinew/user_registration/index.php/members_area/view_members_area'; 
    $config['total_rows'] = count($org_list); 
    $config['per_page'] = 4; 
    $config['num_links'] = 20; 
    $config['full_tag_open'] = '<div id="pagination3">'; 
    $config['full_tag_close'] = '</div>'; 

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

    for($i=$this->uri->segment(3)+0;$i<(($this->uri->segment(3)+$config['per_page']));$i++) 
    { 
     if(isset($org_list[$i])) 
     {$temp_org[$i]=$org_list[$i]; 
     } 


    } 

    $tmp_org['org_list']=$temp_org; 


$this->load->view('organization/organization_listing',$tmp_org); 



    $org_config['base_url'] = 'http://localhost/socialinew/user_registration/index.php/members_area/view_members_area/'; 
    $org_config['total_rows'] = count($ind_list); 
    $org_config['per_page'] = 5; 
    $org_config['num_links'] = 20; 
    $org_config['full_tag_open'] = '<div id="pagination2">'; 
    $org_config['full_tag_close'] = '</div>'; 

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

    for($i=$this->uri->segment(4)+0;$i<(($this->uri->segment(4)+$config['per_page']));$i++) 
    { 
     if(isset($ind_list[$i])) 
     {$temp_ind[$i]=$ind_list[$i]; 
     } 
    } 

     $tmp_ind['ind_list']= $temp_ind;  

$ this-> tải-> view ('individual_listing', $ tmp_ind);>

+0

Bạn có thể đưa ra ví dụ về chính xác những gì bạn đang cố gắng đạt được không? – MikeCruz13

+0

Nếu bạn không thích ajax ... bạn có thể sử dụng iframe. – csotelo

Trả lời

1

Những người cuối cùng tôi đã sử dụng javascript để tải các trang riêng lẻ vào trang, vì vậy tôi sẽ chuyển các trang thành ba chế độ xem khác nhau và sau đó sử dụng javascript để gọi những lượt xem đó vào trang. Không thể tìm ra bất kỳ cách nào để thực hiện nhiều lần phân trang trên cùng một trang.

+0

Guys tôi đã hỏi câu hỏi này hơn một năm trước, kể từ đó làm việc với codeigniniter, javascript tôi đã nhận ra rằng các tùy chọn của bạn bị hạn chế nghiêm trọng nếu bạn sử dụng phân trang của người viết mã. Nó được xây dựng để sử dụng rất cơ bản và bạn sẽ gặp phải một số hạn chế khi bạn cố gắng để cusomize nó cho mục đích của riêng bạn. Thay vào đó, nếu bạn có thể xây dựng các cuộc gọi javascript ajax của riêng bạn để xây dựng các paginations của riêng bạn, bạn có thể xây dựng nhiều chức năng hơn. – yash

+0

bất kỳ ý tưởng nào? im cũng có một vấn đề với điều đó .. giúp đỡ. – Vincent

+0

@Vincent trong trường hợp bạn ok/cofortable với các cuộc gọi jquery-ajax, bạn có thể sử dụng để phân trang. Bạn có thể tải các bản ghi của mình trong bộ điều khiển và gửi các cuộc gọi ajax từ giao diện người dùng với các tham số xác định phạm vi bản ghi mà bạn muốn kéo vào giao diện người dùng. Một năm trước, khi tôi đã đặt câu hỏi, tôi không cảm thấy thoải mái với ajax và vì vậy rất mong chờ chức năng bản địa của người viết mã để làm việc. Nhưng khi nó bật ra jquiery/ajax là một phương pháp tốt hơn để làm điều này. – yash

1

Nếu bạn muốn

1 2 3 4 

results 

1 2 3 4 

results 

Tôi khá chắc chắn nó khá thẳng về phía trước:

  1. chỉ định cấu hình cho bộ đầu tiên (nói để sử dụng phân đoạn uri 3)
  2. Initiali ze pagination
  3. Tạo liên kết; và
  4. Gửi cho chế độ xem.

Sau đó

  1. Cấu hình cho tập thứ hai (nói để sử dụng uri phân khúc 4)
  2. Khởi tạo pagination
  3. Tạo các liên kết; và
  4. Gửi cho chế độ xem.
+0

Cách đặt url cơ sở trong trường hợp đó? – yash

+0

bạn không thể đặt nó bằng '$ config ['base_url']'? và sử dụng '$ config ['uri_segment'] = ;' để cho biết phân khúc nào có ý nghĩa để thay đổi. Xem các tài liệu trên trình trợ giúp url để trợ giúp thiết lập cơ sở. – MikeCruz13

+0

vâng tôi đã đặt phân trang đầu tiên để tìm phân đoạn uri 3 và phân trang thứ hai cho phân đoạn uri 4. Nhưng tôi không thể tìm ra cách chuyển một ký tự đại diện trong $ config [base_url] cho phân đoạn uri thứ ba. Cũng đã đi qua trợ giúp url nhưng không thể nhìn thấy những gì có thể giúp tôi.có thể bị mất một cái gì đó. – yash

Các vấn đề liên quan