วิธีการ export ข้อมูล จากไฟล์ phpbb ไปเป้น CSV

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

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

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

วิธีการ export ข้อมูล จากไฟล์ phpbb ไปเป้น CSV

Post by Ittichai_chupol » 24/11/2018 5:28 pm

สำหรับใครที่กำลังศึกษา พัฒนาระบบ หรือโปรแกรมโดย ใช้ภาษา php ในการเขียนนั้น แล้วมีต้องการที่จะส่งข้อมูลโดยการ export ข้อมูลจากฐานฐานข้อมูลออกมาให้ เป้นไฟล์ในรูปแบบของ CSV โดยที่ไม่จำเป็นต้องพึงพาใช้ librari หรือการ import ไฟล์อื่นๆ มาใช้เขียน ผมมีตัวอย่างโคด มาเสนอเพื่อช่วยในการเขียนเเบบง่ายๆ สั่นๆ ดังนี้

ตัวอย่างอย่างโคด การเขียน expost php to CSV

Code: Select all



  //ส่วนเรียกข้อมูลจากฐานข้อมูล
                    $sql_array = array('SELECT' => 'm.id,t.topic_title , p.post_subject,u.username , m.like_time ,m.staus_like ',
                    'FROM' => array(
                        $table_prefix . 'm_like0' => 'm',
                    ),
                    'LEFT_JOIN' => array(
                        array(
                            'FROM' => array(USERS_TABLE => 'u'),
                            'ON' => ' m.user_id = u.user_id',
                        ),
                        array(
                            'FROM' => array(POSTS_TABLE => 'p'),
                            'ON' => ' m.post_id = p.post_id',
                        ),
                        array(
                            'FROM' => array(TOPICS_TABLE => 't'),
                            'ON' => ' m.topic_id = t.topic_id',
                        )
                    ),
                );
                $sql = $db->sql_build_query('SELECT', $sql_array); //แปลข้อมูล Array มาเป็น SQl ปกติ
                
                
                $result = $db->sql_query($sql); 
                $csv_data = '';  กำหนดตัวแปรเก็บข้อมูล
                $filename = $phpbb_root_path . '/store/ExportLike' . '.csv'; // กำหนดชื่อไฟล์
                $fp = fopen($filename, 'w');


                while ($row = $db->sql_fetchrow($result)) {
                    $csv_data .= $row['topic_title'] . ' ,  ' . $row['post_subject'] . ' ,  ' . $row['username'] . ' , '
                            . ' ' . $user->format_date($row['like_time']) . ' ,   ' . $row['staus_like'] . '' . "\r";
                } //แสดงข้อมูล จากฐานข้อมูล
                fwrite($fp, $csv_data);
                fclose($fp);
                
                // Download the file
                header('Content-type: application/force-download');
                header('Content-Transfer-Encoding: Binary');
                header('Content-length: ' . filesize($filename));
                header("Content-disposition: attachment; filename=\"" . basename($filename) . "\"");
                readfile($filename);
                // Delete the file
                unlink($filename);
                exit;



Post Reply

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 6 guests