วิธีการดึงกลุ่มของ phpbb มาสร้างเป็น listbox พร้อมเปลี่ยนชื่อกลุ่มตามภาษาที่กำหนด

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

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

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

วิธีการดึงกลุ่มของ phpbb มาสร้างเป็น listbox พร้อมเปลี่ยนชื่อกลุ่มตามภาษาที่กำหนด

Post by Ittichai_chupol »

ในเว็บบอร์ด phpbb นั้นจะมีการเเบ่งสิทธิ์ต่างๆของผุ้ใช้งานเอาไว ว่าผู้ใช้งานเหล่านั้นจะมีความสามารถทำอะไรภายในเว็บบอร์ดได้บาง หรือสามารถเข้าถึงข้อมูลใดๆ ได้บาง โดยสิทธิ์เหล่านี้นั้น อาจจะขึ้นอยู่กับการกำหนดสิทธิ์เฉพาะบุคคล หรืออาจจะอยู้กับกลุ่มที่ผู้ใช้งานนั้นนั้นๆ เป้นสมาชิกอยู่ โดยสิ่งเหล่านี้ก็จะขึ้นอยู่กับผู้ดูแลระบบว่าจะกำหนดสิทธิ์อย่างไรให้บุคคล คนนั้น แต่ทั้งนี้ส่วนใหญ่จะเป็นการจัดการสิทธฺิ์โดยแบ่งตามการอยู่ภายในกลุ่มๆนั้นเลย โดยกลุ่มที่มีอยู่ในเว็บบอร์โ phpbb นั้นรก็จะมีการแบ่งออกเป็น 2 ส่วนคือ กลุ่มที่ผู้ใช้กำหนด กับ กลุ่มที่กำหนดไว้ ซึ่งกลุ่มเหล่านี้ก็จะมีความแต่ต่างกันคือ กลุ่มที่ผู้ใช้กำหนด จะเป็นกลุ่มที่ผู้ดูแลระบบสร้างขึ้นมาเอง แต่ กลุ่มที่กำหนดไว้ จะเป็นกลุ่มที่ มากับเว็บบอร์ด phpbb ตั้งแต่ติดตั้ง โดยสำหรับผู้ที่ต้องการจะสร้าง php ขึ้นมาและต้องการจะให้มีการเเสงเป็น listิbox ใน html นั้น ก็สามารถที่จะ Query ข้อมูลมาจากฐานข้อมูลได้เลย แต่ก็จะเห็นความแต่ต่าง ระหว่างกลุ่ม กลุ่มที่ผู้ใช้กำหนด กับ กลุ่มที่กำหนดไว้ ด้วยคือ กลุ่มที่กำหนดไว้ จะสามารถปรับเปลี่ยนภาษาได้ตามการตั้งค่าของผู้ใช้งานได้ด้วย โดยวิธีการเขียนโคดก็มีดังนี้


1.ตัวอย่างการเขียนโคด SQL

Code: Select all

      
      
$sql = 'SELECT group_name, group_id, group_type  FROM ' . GROUPS_TABLE . ' ORDER BY group_name ASC'; //select ข้อมูล
        $result = $this->db->sql_query($sql);
        
        //จะเป็นการสร้าง listbox  โดย $this->user->lang['G_' . $row['group_name']] จะเป็นการดึงค่าชื่อกลุ่มตามถาษาที่สมาชิกใช้งานอยู่
        $s_group_options = '<select id="group" name="group"><option value="0">' . $this->user->lang['NO_GROUP'] . '</option>';
        while ($row = $this->db->sql_fetchrow($result)) {
            if (!$this->config['coppa_enable'] && $row['group_name'] == 'REGISTERED_COPPA') {
                continue;
            }
            $selected = $row['group_id'] == $group_selected ? ' selected="selected"' : '';
            $s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '"' . $selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $this->user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
        }
        $s_group_options .= '</select>';
        
 $template->assign_vars(array(
                    'S_GROUP_OPTION' => $s_group_options,  //ส่งไปแสดงที่ html
                ));
        
ผลลัพธ์
PHP Knowledge-1.png
PHP Knowledge-1.png (32.72 KiB) Viewed 95 times
บทความที่เกี่ยวข้อง
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
Event listenner - เขียน Extension บน phpBB 3.1
ขอให้วันนี้เป็นวันที่ดี

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 11 guests