อยากทราบวิธีการดึงข้อมูล รายการกระทู้ที่โปรด ใน phpbb

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

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

Ittichai_chupol
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 966
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

อยากทราบวิธีการดึงข้อมูล รายการกระทู้ที่โปรด ใน phpbb

โพสต์โดย Ittichai_chupol » 19/01/2019 1:50 pm

ผมอยากทราบว่า เราจะรู้ได้อย่างอย่างไรว่า หัวข้อมูลไหนที่เป็นหัวข้อมูลกระทู้ที่ผู้ใช้งานคนนั้นเลือกว่าเป็นรายการหัวข้อมูลกระทู้โปรด
โดยอยากจะรู้การเขียน Sql เพื่อ Query ข้อมุลมาจากฐานข้อมูล ได้ ครับ

Ittichai_chupol
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 966
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Re: อยากทราบวิธีการดึงข้อมูล รายการกระทู้ที่โปรด ใน phpbb

โพสต์โดย Ittichai_chupol » 21/01/2019 5:21 pm

ตัวอย่างอย่าง การดึงข้อมูลรายการโปรดจากฐานข้อมูล

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


    $sql_array = array(
                'SELECT' => 't.*, f.forum_name, b.topic_id as b_topic_id', //เลือกว่าต้องการข้อมูลอะไรบาง
                'FROM' => array(
                    BOOKMARKS_TABLE => 'b', //ฐานข้อมูลที่เก็บข้อมูลรายการโปรด
                ),
                'WHERE' => 'b.user_id = ' . $user->data['user_id'] . '
               AND ' . $db->sql_in_set('f.forum_id', $forbidden_forum_ary, true, true),  //เงือนไขที่จะดึงข้อมูลรายการโปรดของผู้ใช้งานคนๆนั้น
                'ORDER_BY' => 't.topic_last_post_time DESC, t.topic_last_post_id DESC'
            );
            $sql_array['LEFT_JOIN'] = array(); //สร้าง Array เก้บค่า ตารางที่จะมา Join
            $sql_array['LEFT_JOIN'][] = array('FROM' => array(TOPICS_TABLE => 't'), 'ON' => 'b.topic_id = t.topic_id');
            $sql_array['LEFT_JOIN'][] = array('FROM' => array(FORUMS_TABLE => 'f'), 'ON' => 't.forum_id = f.forum_id');
            if ($config['load_db_lastread']) {
                $sql_array['LEFT_JOIN'][] = array('FROM' => array(FORUMS_TRACK_TABLE => 'ft'), 'ON' => 'ft.forum_id = t.forum_id AND ft.user_id = ' . $user->data['user_id']);
                $sql_array['LEFT_JOIN'][] = array('FROM' => array(TOPICS_TRACK_TABLE => 'tt'), 'ON' => 'tt.topic_id = t.topic_id AND tt.user_id = ' . $user->data['user_id']);
                $sql_array['SELECT'] .= ', tt.mark_time, ft.mark_time AS forum_mark_time';
            }
            if ($config['load_db_track']) {
                $sql_array['LEFT_JOIN'][] = array('FROM' => array(TOPICS_POSTED_TABLE => 'tp'), 'ON' => 'tp.topic_id = t.topic_id AND tp.user_id = ' . $user->data['user_id']);
                $sql_array['SELECT'] .= ', tp.topic_posted';
            }
            $sql = $db->sql_build_query('SELECT', $sql_array);




ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 51 และ บุคคลทั่วไป 0 ท่าน