รับทําเว็บไซต์ รับทําseo
บทความที่น่าสนใจ

บทความ ที่น่าสนใจ

เขียน Import ข้อมูลใน Excel เข้าสู่ Database MySQL ด้วย PHP

    วันนี้เราจะมาดูวิธีการ Import ข้อมูลจาก Excel เข้าสู่ Database MySQL และสามารถแสดงออกมาเป็นภาษาไทยในรูปแบบ UTF-8 แบบไม่มีปัญหาใดๆ

     

    ก่อนอื่นผมมีตัวอย่างจากไฟล์ xls ดังนี้

     

     

    ทำการ Save File Excel ให้เป็น CSV ก่อนดังนี้
    ไปที่ File -> Save As -> OtherFormats

     

     

    จากนั้นเลือก Formats เป็น CSV (Comma delimited) (*.csv)

     

     

    จากนั้นทำการแปลง Encode ของไฟล์เป็น UTF-8 โดย
    เปิดไฟล์ CVS ด้วย Notepad

     

     

    หาก Save ถูก Formats จะพบข้อมูลดังรูป

     

     

    ทำการลบข้อมูลหัวตารางออกให้เลือกแต่ข้อมูลที่เราต้องการนำไปใส่ใน MySQL

     

     

    ไปที่ File -> Save As

     

     

    ด้านล่างเลือก Encoding เป็น UTF-8

     

     

    เข้าไปสร้างฐานข้อมูลและตารางใน MySQL ตามข้อมูลที่เราต้องการ
    ตัวอย่างของผมเป็นดังนี้
    สร้างฐานข้อมูลชื่อ slayer_project และเลือก MySQL connection collation: เป็น utf8_unicode_ci

     

     

    สร้างตารางตามข้อมูลที่มีอยู่

     

     

    จากนั้นทำการเขียน Code PHP เพื่ออ่านข้อมูลจากไฟล์ CVS ลงฐานข้อมูล MySQL


    ตัวอย่าง Code ของผมเป็นดังนี้

    //ส่วนของการเชื่อมต่อฐานข้อมูล MySQL  

    $objConnect = mysql_connect("localhost","username","password"or 

    die("Error Connect to Database"); // Conect to MySQL  

    $objDB = mysql_select_db("database_name");  

      

    //ทำการเปิดไฟล์ CSV เพื่อนำข้อมูลไปใส่ใน MySQL  

    $objCSV = fopen("member.csv""r");  

    while (($objArr = fgetcsv($objCSV, 1000, ",")) !== FALSE) {  

            //นำข้อมูลใส่ในตาราง member  

     $strSQL = "INSERT INTO member ";  

      

            //ข้อมูลใส่ใน field ข้อมูลดังนี้  

     $strSQL .="(id,name,lastname,age,tel) ";  

     $strSQL .="VALUES ";  

              

            //ข้อมูลตามที่อ่านได้จากไฟล์ลงฐานข้อมูล  

     $strSQL .="('".$objArr[0]."','".$objArr[1]."','".$objArr[2]."' ";  

     $strSQL .=",'".$objArr[3]."','".$objArr[4]."') ";  

       

     //ให้ข้อมูลอยู่ในรูปแบบที่อ่านได้ใน phpmyadmin (By.SlayerBUU Credits พี่ไผ่)  

     mysql_query("SET NAMES UTF8");  

      

     //เพิ่มข้อมูลลงฐานข้อมูล  

     $objQuery = mysql_query($strSQL);  

    }  

    fclose($objCSV);  

      

    echo "Import Done.";  

    ?>  



    นำไฟล์ cvs ไว้ที่เดียวกับไฟล์ php เพื่อทำการ import

     

     

    หากการ Import ข้อมูลไม่มีปัญหาจะขึ้นข้อความว่า Import Done.

     

     

    เมื่อลองดูในฐานข้อมูลก็จะพบว่ามีข้อมูลที่เราต้องการอยู่ในฐานข้อมูลแล้ว

     

     
     

     

    ลองเขียน Code ดึงข้อมูลออกมาแสดงเปิดดูในรูปแบบ UTF-8 ก็แสดงภาษาไทยได้อย่างไม่มีปัญหา ก่อนที่จะ query ข้อมูลออกมาต้อง mysql_query("SET NAMES UTF8");ก่อนด้วยครับ



    ตัวอย่าง Code

     

    $objConnect = mysql_connect("localhost","username","password"or 

    die("Error Connect to Database"); // Conect to MySQL  

    $objDB = mysql_select_db("database_name");  

      

    $sql = ("SELECT * from member");  

    mysql_query("SET NAMES UTF8");  

      

    $result = mysql_query($sql);  

    While($row= mysql_fetch_array($result)){  

    echo "id = ".$row['id'];  

    echo "name = ".$row['name'];  

    echo "lastname = ".$row['lastname'];  

    echo "age = ".$row['age'];  

    echo "tel = ".$row['tel'];  

    }  

    ?>  



    ตัวอย่างข้อมูลที่แสดง