Select Data Dengan PHP Data Access Object

Select Data Dengan PHP Data Access Object

Udah ga kerasa kita udah 1 minggu menjalani ibadah puasa, mudah-mudahan bisa lebih ditingkatkan lagi kualitas ibadahnya ya. Kemarin kita sudah membahas bagaimana cara membuat koneksi database dengan menggunakan PHP Data Access Object atau PHP DAO, nah sekarang kita akan belajar cara untuk melakukan select data dengan PHP Data Access Object.

Select Data Dengan PHP Data Access Object

Pertama-tama kita bongkar dulu script class DAO yang kemarin kita udah buat, berikut scriptnya :

db_host = $db_host;
        $this->db_user = $db_user;
        $this->db_pass = $db_pass;
        $this->db_name = $db_name;
        $this->db_path = $db_path;
        $this->db_type = $db_type;

        switch($this->db_type){
            case "mysql":
            $this->connection_string = "mysql:host=".$db_host.";dbname=".$db_name;
            break;
             
            case "sqlite":
            $this->connection_string = "sqlite:".$db_path;
            break;
             
            case "oracle":
            $this->connection_string = "OCI:dbname=".$db_name.";charset=UTF-8";
            break;
             
            case "dblib":
            $this->connection_string = "dblib:host=".$db_host.";dbname=".$db_name;
            break;
             
            case "postgresql":
            $this->connection_string = "pgsql:host=".$db_host." dbname=".$db_name;
            break;
        }
        return $this;
    }

    public function connect() {
        // cek koneksi apa udah tersambung atau belum
        if(!$this->con) {
            try {
                $this->db = new PDO($this->connection_string,$this->db_user, $this->db_pass);
                $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $this->con = true;
                return $this->con;
            } catch (PDOException $e) {
                return $e->getMessage();
            }
        } else {
            return true; // kalo udah konek sebelumnya, diem aja
        }
    }

    public function disconnect() {
        if($this->con) {
            unset($this->db);$this->con = false;
            return true;
        }
    }
}
?>

Select Data Dengan PHP Data Access Object # select()

Nah, karang kita tambahkan sebuah method kedalam class tersebut

tableExists($table)) {
        $q = 'SELECT '.$rows.' FROM '.$table;
        if($where != null)
            $q .= ' WHERE '.$where;
        if($order != null)
            $q .= ' ORDER BY '.$order;
        $this->numResults = null;
        try {
            $sql = $this->db->prepare($q);
            $sql->execute();
            $this->result = $sql->fetchAll(PDO::FETCH_ASSOC);
            $this->numResults = count($this->result);
            $this->numResults === 0 ? $this->result = null : true ;
            return true;
        } catch (PDOException $e) {
            return $e->getMessage().''.$e->getTraceAsString().''; 
        } 
    } 
}
?>

Select Data Dengan PHP Data Access Object # getResult()

Karena properti class DAO-nya itu bersifat private, kita tidak dapat mengakses data tersebut langsung melalui aplikasi, jadi kita akan membuat sebuah public method dengan nama getResults() untuk menampilkan hasilnya. Nah, sekarang kita buat 1 buah method baru lagi namanya getResults() untuk menampilkan hasilnya.

result;
}
?>

Select Data Dengan PHP Data Access Object # Implementasi

Ok, sekarang kita tinggam membuat script untuk select data tersebut. 

connect();
$result = $db->select('users');

if ($result === true){
    echo "result select ";
    print_r($db->getResult());
} else {
    var_dump($result);
}

$db->disconnect();

?>

nah, gampang khan? Insya Allah nanti kita kembangkan lagi ya. Selamat mencoba dan semoga bermanfaat. 😀

Tinggalkan komentar