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

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย M030 »

พอดีจะแบ่งหน้าเพจแบบ 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); 
        }
 
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41384
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ดูตัวอย่างการเขียนได้จาก หน้านี้
https://www.mindphp.com/forums/memberlist.php
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย M030 »

ตัวอย่างประมานนี้ค่ะ
ขอบคุณค่ะ :)
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

 $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); 
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

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

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

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

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

$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); 
ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย M030 »

ได้แล้วค่ะ ผิดตรงที่
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);
           
            
            }
 
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 128