Q - วิธีการแก้ไข้การแบ่งหน้า ใน phpbb ฝั่ง user

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

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

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 2823
Joined: 19/09/2018 10:33 am

Q - วิธีการแก้ไข้การแบ่งหน้า ใน phpbb ฝั่ง user

Postby Ittichai_chupol » 29/11/2018 4:09 pm

ผมอยากทราบว่าทำไม การแบ่งหน้า ข้อมูลใน phpbb ที่ผมสร้างโดยการสร้างเป็น extension ถึงออกมาไม่เหมือนกับของเรา

ตัวอย่าง การเปรียบเทียมกันครับ
1 . อันบนคือสิ่งที่ ถูกต้อง
2. อันล่างคือตำแหน่ง ที่อยากให้มีเหมือนอันบน

Image


แต่พอได้ลองทดสอบทำแล้ว กับปรากฏว่าได้ผมลัพไม่ได้กัน


29-03.png



อันนี้คือโคดการทำงานครับ

Code: Select all

  if ($this->config['m_enable_alert_private'] == 1) {

            $user_id = $this->user->data['user_id'];
            global $phpbb_container;
            $pagination = $phpbb_container->get('pagination');
            $start = request_var('start', 0);
            //$limit = $this->config['topics_per_page'];$start = request_var('start', 0); 
            $page = $this->request->variable('p', '');
            $limit = 3;

            if ($page != 2) {
                $sql_ary = array(
                    'SELECT' => 'distinct t.topic_title , t.topic_id , f.forum_name ,p.post_text ,p.post_time ,p.post_subject ,u.username ,p.post_subject ,f.forum_id ,p.post_id ,t.topic_id,u.user_id ,t.topic_views ',
                    'FROM' => array(
                        TOPICS_TABLE => 't',
                    ),
                    'LEFT_JOIN' => array(
                        array(
                            'FROM' => array(USERS_TABLE => 'u'),
                            'ON' => 't.topic_poster = u.user_id',
                        ),
                        array(
                            'FROM' => array(FORUMS_TABLE => 'f'),
                            'ON' => 'f.forum_id = t.forum_id',
                        ),
                        array(
                            'FROM' => array(POSTS_TABLE => 'p'),
                            'ON' => 'p.forum_id = f.forum_id',
                        )
                    ),
                    'WHERE' => 'p.poster_id = ' . $this->user->data['user_id'] . ' AND  t.topic_first_post_id = t.topic_last_post_id' . ' GROUP BY t.topic_id',
                );
            }
            if ($page == 2) {
                $sql_ary = array(
                    'SELECT' => '  t.topic_title , t.topic_id , f.forum_name ,p.post_text ,p.post_time ,p.post_subject ,u.username ,p.post_subject ,f.forum_id ,p.post_id ,t.topic_id,u.user_id ,t.topic_views ',
                    'FROM' => array(
                        TOPICS_TABLE => 't',
                    ),
                    'LEFT_JOIN' => array(
                        array(
                            'FROM' => array(USERS_TABLE => 'u'),
                            'ON' => 't.topic_poster = u.user_id',
                        ),
                        array(
                            'FROM' => array(FORUMS_TABLE => 'f'),
                            'ON' => 'f.forum_id = t.forum_id',
                        ),
                        array(
                            'FROM' => array(POSTS_TABLE => 'p'),
                            'ON' => 'p.forum_id = f.forum_id',
                        )
                    ),
                    'WHERE' => 'p.poster_id = ' . $this->user->data['user_id'] . ' AND  t.topic_first_post_id != t.topic_last_post_id' . ' GROUP BY t.topic_id',
                );
            }
            $sql2 = $this->db->sql_build_query('SELECT', $sql_ary);
            $result2 = $this->db->sql_query_limit($sql2, $limit, $start);
            $sum = 0;

            while ($data3 = $this->db->sql_fetchrow($result2)) {
                $sum += 1;
                $this->template->assign_block_vars('loop', array(
                    'NAME' => $data3['forum_name'],
                    'POSTTEXT' => $data3['post_text'],
                    'MESSAGE' => $data3['topic_title'],
                    'NAME_POSTTER' => $data3['username'],
                    'SUBJECT' => $data3['post_subject'],
                    'FID' => $data3['forum_id'],
                    'PID' => $data3['post_id'],
                    'TID' => $data3['topic_id'],
                    'UID' => $this->user->data['user_id'],
                    'DATE' => $this->user->format_date($data3['post_time']),
                    'VIEWTOPIC' => $data3['topic_views'],
                    'M_ACTION' => generate_board_url() . '/' . append_sid("viewtopic.php", 'f=' . $data3['forum_id'] . '&t=' . $data3['topic_id'] . '&p=' . $data3['post_id'] . '#p' . $data3['post_id'], true, ''),
                    'MEM_ACTEION' => generate_board_url() . '/' . append_sid("memberlist.php", 'mode=viewprofile&u=' . $this->user->data['user_id'], true, ''),
                ));
            }

            $sql_ary['SELECT'] = 'COUNT(t.topic_id) as total_forum'; // 6.  COUNT นับจำนวน เพื่อให้ได้จำนวนทั้งหมด
            $sql = $this->db->sql_build_query('SELECT', $sql_ary);

            $result = $this->db->sql_query($sql);
            $total_forums = $this->db->sql_fetchfield('total_forum'); // 7. ประกาศตัวแปร จำนวนทั้งหมด
            $this->db->sql_freeresult($result);
            $base_url = generate_board_url() . '/' . append_sid("memberlist.php", 'mode=viewprofile&u=' . $user_id, true, '');
            $pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_forums, $limit, $start);




            $this->template->assign_vars(array(
                'M_MEMBER' => generate_board_url() . '/' . append_sid("memberlist.php", 'mode=viewprofile&u=' . $user_id . '&p=1', true, ''),
                'M_MEMBER2' => generate_board_url() . '/' . append_sid("memberlist.php", 'mode=viewprofile&u=' . $user_id . '&p=2', true, ''),
                'PAGE' => $page,
                'SUM' => $sum,
            ));
        }

        $this->template->assign_vars(array(
            'M_CONFIG_SHOW_POSTS_MEMBER' => $this->config['m_enable_alert_private'],
        ));
    }





ควรต้องไปแก้ที่จุดไหนครับ

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18749
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - วิธีการแก้ไข้การแบ่งหน้า ใน phpbb ฝั่ง user

Postby thatsawan » 29/11/2018 5:13 pm

ดูที่ HTML

Code: Select all

<div class="pagination top-pagination">
   <!-- INCLUDE pagination.html -->
</div>

User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 2823
Joined: 19/09/2018 10:33 am

Re: Q - วิธีการแก้ไข้การแบ่งหน้า ใน phpbb ฝั่ง user

Postby Ittichai_chupol » 29/11/2018 5:17 pm

อันนี้ที่ผมใช้ครับ

Code: Select all

<div class="pagination">
  <!-- INCLUDE pagination.html -->
 </div>
 

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 18749
Joined: 31/03/2014 10:02 am
Contact:

Re: Q - วิธีการแก้ไข้การแบ่งหน้า ใน phpbb ฝั่ง user

Postby thatsawan » 29/11/2018 5:18 pm

Code: Select all

<div class="action-bar bar-bottom">
      <div class="pagination">
         {TOTAL_TOPICS}
         <!-- IF .pagination -->
            <!-- INCLUDE pagination.html -->
         <!-- ELSE -->
             &bull; {PAGE_NUMBER}
         <!-- ENDIF -->
      </div>
   </div>


  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 48 guests