แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

Re: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย M030 » 17/10/2015 6:37 pm

ได้แล้วค่ะ ผิดตรงที่
1. วางตำแหน่งการ build_array ผิด
2. ลืมประกาศ global $config
3. ตรงเรียกใช้ $pagination ผิดตรง $total_id ไม่มีค่าอะไรเลย
4. หลังจากการ select ไม่ได้ทำการ build_array
5. ส่งหน้าผิด เพราะส่งไป u_action นั่นหมายถึงในส่วนของ admin

โค้ดที่แก้ไขใหม่

โค้ด: เลือกทั้งหมด

else {

            $pagination = $phpbb_container->get('pagination');
            $start = request_var('start', 0);
           
             $per_page = request_var('per_page', $config['topics_per_page']); 
            
            $sql_ary = array(
                        'SELECT'    => '*',
                        'FROM'      => array(
                                $table_prefix.'thailand'        => 't',
                                ),
                        );
//                        print_r($sql_ary);   
            $sql = $db->sql_build_query('SELECT', $sql_ary);
//             echo $sql;exit;
            $result = $db->sql_query_limit($sql, $per_page, $start);
          
            //    $result = $db->sql_query_limit($sql, 20, 20);
            while ($row = $db->sql_fetchrow($result)) {
                //print_r($row);
                $id = $row['id'];
                $province = $row['province'];
                $district = $row['district'];
                $subdistrict = $row['subdistrict'];
                $zipcode = $row['zipcode'];
                $this->template->assign_block_vars('m_thai', array(
                    'ID' => $id,
                    'PROVINCE' => $province,
                    'DISTRICT' => $district,
                    'SUBDISTRICT' => $subdistrict,
                    'ZIPCODE' => $zipcode,
                ));
            }
            $sql_ary['SELECT'] = 'COUNT(t.id) as total_id';
            $sql = $db->sql_build_query('SELECT', $sql_ary);
            $result = $db->sql_query($sql);
            $total_id = $db->sql_fetchfield('total_id');
            
            
            $base_url = generate_board_url(). '/app.'.$this->php_ext.'/m_thaipost';
            $pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_id, $per_page, $start);
           
            
            }
 

Re: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย thatsawan » 17/10/2015 5:54 pm

อีกตัวอย่างค่ะง

โค้ด: เลือกทั้งหมด

$sql = 'SELECT a.*, u.username, u.user_colour, t.topic_title
                    FROM ' . ATTACHMENTS_TABLE . ' a
                    LEFT JOIN ' . USERS_TABLE . ' u ON (u.user_id = a.poster_id)
                    LEFT JOIN ' . TOPICS_TABLE . " t ON (a.topic_id = t.topic_id)
                    WHERE a.is_orphan = 0
                        $limit_filetime
                    ORDER BY $sql_sort_order";
                $result = $db->sql_query_limit($sql, $sql_limit, $sql_start); 

Re: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย thatsawan » 17/10/2015 5:35 pm

โค้ด: เลือกทั้งหมด

 $pagination = $phpbb_container->get('pagination'); 
             $start  = request_var('start',0);
            $per_page = request_var('per_page', $config['topics_per_page']);
             $result = $db->sql_query_limit($sql, $per_page, $start);
             
               $sql_ary = array(
                        'SELECT id,province,district,subdistrict,zipcode 
                            FROM '      => array(
                                $table_prefix . 'thailand'  => 't',
                                ),
                        );
               $sql = $db->sql_build_query('SELECT', $sql_ary)


1. $result = $db->sql_query_limit($sql, $per_page, $start); อยู่ก่อนหน้า $sql หรือป่าว
2. $sql = $db->sql_build_query('SELECT', $sql_ary)[/code] มันเป็น query ธรรมดา คิดว่า น่าจะใส่ผิดที่ผิดทาง
ปล. ลองย้าย ข้อ 1 มาใส่ก่อน ข้อ 2

โค้ด: เลือกทั้งหมด

 $sql_ary = array(
                        'SELECT'    => '*',
                        'FROM'      => array(
                                FORUMS_TABLE         => 'f',
                                ),
                        );
                        $sql = $db->sql_build_query('SELECT', $sql_ary);
                        $result = $db->sql_query_limit($sql, $per_page, $start); 

Re: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย M030 » 17/10/2015 4:27 pm

ตัวอย่างประมานนี้ค่ะ
ขอบคุณค่ะ :)

Re: แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย mindphp » 17/10/2015 4:00 pm

ดูตัวอย่างการเขียนได้จาก หน้านี้
https://www.mindphp.com/forums/memberlist.php

แบ่งหน้าเพจแบบ BB ไม่ได้ค่ะ

โดย M030 » 17/10/2015 2:01 pm

พอดีจะแบ่งหน้าเพจแบบ BB ค่ะ นอกจากข้อมูลที่เรา select ไว้ไม่ขึ้นแล้วเพจแบ่งหน้าก็ไม่ขึ้นค่ะ
debug-selectpage.png

โค้ด: เลือกทั้งหมด

else {
          
        //    $sql =  'SELECT province,district,subdistrict,zipcode 
        //FROM ' . $table_prefix . 'thailand';

            $pagination = $phpbb_container->get('pagination'); 
             $start  = request_var('start',0);
            $per_page = request_var('per_page', $config['topics_per_page']);
             $result = $db->sql_query_limit($sql, $per_page, $start);
             
               $sql_ary = array(
                        'SELECT id,province,district,subdistrict,zipcode 
                            FROM '      => array(
                                $table_prefix . 'thailand'  => 't',
                                ),
                        );
               $sql = $db->sql_build_query('SELECT', $sql_ary);
        //    $result = $db->sql_query_limit($sql, 20, 20);
            while ($row = $db->sql_fetchrow($result)) {
                //print_r($row);
                $id =  $row['id'];  
                $province = $row['province'];
                $district = $row['district'];
                $subdistrict = $row['subdistrict'];
                $zipcode = $row['zipcode'];
                $this->template->assign_block_vars('m_thai', array(
                    'ID' => $id,
                    'PROVINCE' => $province,
                    'DISTRICT' => $district,
                    'SUBDISTRICT' => $subdistrict,
                    'ZIPCODE' => $zipcode,
                ));
            }
            $sql_ary['SELECT'] = 'COUNT(t.id) as total_id'; 
            $total_id = $db->sql_fetchfield('total_id');
              $base_url =  $this->m_action ; 
              $pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_id,$per_page,$start); 
        }
 

ข้างบน