วิธีดึงข้อมูลจาก Database มาแสดงแบบ OOP PHP

27 ธันวาคม 2554


บทความนี้เกี่ยวข้องกับการสร้างฟังชั่น เพื่อเชื่อมต่อฐานข้อมูล และดึงข้อมูลขึ้นมาแสดง ยังไม่เต็มรูปแบบของ OOP เนื่องจากยังไม่มีการสร้าง Object ภายนอก เพียงแต่มีรูปแบบการเชื่อมต่อฐานข้อมูลแบบ OOP และสามารถนำไปใช้ได้จริง เรียกว่า สร้างจินตนาการ อุ่นเครื่องกันก่อน.....


เริ่ม
ผมจะสร้างไฟล์ขึ้นมา 2 ไฟล์ คือ index.php กับ MySqlConnect.php
ที่ไฟล์ MySqlConnect.php ผมจะสร้าง function เพื่อเชื่อมต่อฐานข้อมูลก่อน ดังนี้

ไฟล์ MySqlConnect.php
function connect()
 {
    $conn = new mysqli('host', 'username', 'password', 'database')
                         or die('not connect to sql');
    return $conn;
 }
โค้ดที่ท่านเห็นด้านบน นี้คือการเชื่อมต่อฐานข้อมูลแบบ OOP ในฟังก์ชั่นนี้มีการสร้างอ็อบเจ็กต์ คือ
$conn = new mysqli(); เป็นรูปแบบการเชื่อมต่อกับฐานข้อมูล MySQL แบบใหม่ซึ่ง สามารถใช้งานได้ ใน MySQL 4.1 ขึ้นไป
ส่วนที่ไฟล์ index.php ผมก็จะนำเข้าไฟล์ MySqlConnect.php และสร้างตัวแปรขึ้นมาเพื่อเรียกใช้ function connect();

ไฟล์ index.php
<!DOCTYPE html">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        require_once('MySqlConnect.php');
        $conn = connect();        
        ?>
    </body>
</html>
มาถึงตอนนี้เราก็ทำการเชื่อมต่อฐานข้อมูลเรียบร้อยแล้ว เหลือแต่ select ตารางฐานข้อมูลและ query ออกมา
เท่านั้นเอง ไปต่อกันเลยครับ...
ที่ไฟล์ MySqlConnect.php ผมจะสร้างฟังก์ชั่นอีกคือ getSql();
function getSql($conn='', $sql='')
{
    $query = $conn->query($sql);
    $rows = array();

    while ($row = $query->fetch_array()) {        
        $rows[] = $row;
    }
    return $rows;
}
ฟังก์ชั่นนี้รับค่า parameter มาสองค่า คือ $conn, $sql ก็คือตัวแปรที่เราได้สร้างเอาไว้ที่ไฟล์ index.php
แล้วผมก็ query ออกมา เก็บข้อมูลในรูปแบบ Array แล้วก็ return ค่าออกไป

จากนั้นที่ไฟล์ index.php ก็ไปสร้างตัวแปรเพื่อส่งค่า parameter ไปให้กับ function getSql()
พร้อมทั้งวนลูป ค่าที่ได้รับการคืนค่ากลับออกมา

ไฟล์ index.php
$sql = 'select * from article';
$results = getSql($conn, $sql);
        foreach($results as $row){
        echo "<div style='width:400px;margin-left:200px;'>";    
        echo "<h3>".$row['title']."</h3>";
        echo $row['article'];
        echo "</div>";
เพียงเท่านี้เราก็จะได้ฟังก์ชั่นการเชื่อมต่อฐานข้อมูล พร้อมทั้ง query ข้อมูลออกมาแสดง แบบง่ายๆ

บทความนี้ก็ขอจบเพียงเท่านี้ครับ ผิดพลาดยังไงก็ขออภัยด้วยครับ.....

ไฟล์ index.php
<!DOCTYPE html>
<html lang="th">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        require_once('MySqlConnect.php');
        $conn = connect();
        $sql = 'select * from article';

        $results = getSql($conn, $sql);
        foreach($results as $row){
        echo "<div style='width:500px;margin-left:100px;'>";    
        echo "<h3>".$row['title']."</h3>";
        echo $row['article'];
        echo "</div>";
        }
        ?>
    </body>
</html>

ไฟล์ MySqlConnect.php
<?php
function connect()
{
    $conn = new mysqli('localhost', 'root', '', 'bookneo')
                       or die('not connect to sql');
    return $conn;
}

 
function getSql($conn, $sql)
{
    $query = $conn->query("SET NAMES UTF8");
    $query = $conn->query($sql);
 
    $rows = array();
 
    while ($row = $query->fetch_array()){        
        $rows[] = $row;
    }
    return $rows;
}
?>


Post By admin
  • กรุณา Login ก่อนโพส