ตัวอย่าง การเปรียบเทียมกันครับ
1 . อันบนคือสิ่งที่ ถูกต้อง
2. อันล่างคือตำแหน่ง ที่อยากให้มีเหมือนอันบน
แต่พอได้ลองทดสอบทำแล้ว กับปรากฏว่าได้ผมลัพไม่ได้กัน
อันนี้คือโคดการทำงานครับ
โค้ด: เลือกทั้งหมด
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'],
));
}
ควรต้องไปแก้ที่จุดไหนครับ