Welcome to Abdul Malik Ikhsan's Blog

php connect oracle

Posted in Tutorial PHP by samsonasik on November 18, 2007

Ceritanya, kemarin ada lowongan programmer php, databasenya pakai oracle, jadinya belajar php lagi deh 🙂 , berikut contoh source php koneksi ke oracle.
——————-
Pertama, kita buat table di oracle, contoh table mahasiswa, berisi npm dan nama.
Kita ubah konfigurasi PHP-nya, di apache\bin\php.ini, seperti berikut :
bagian yang berhubungan sama oracle dan oci, “;”\comment nya dihilangkan..

Code:
extension=php_oracle.dll
extension=php_oci8.dll
;extension=php_oggvorbis.dll
extension=php_openssl.dll
;extension=php_parsekit.dll
extension=php_pdf.dll
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll

————

Restart apache…(kalau perlu restart komputer)
—————
Selanjutnya, kita buat file phpnya :

Code:
<? // db.php ?>
<?
$db=”XE”;
$user=”system”;
$pass=”123″;
?>


—————————

Code:
<? //sql.php
$qmhs=”select * from mahasiswa”;
$qjmlmhs=”select count(*) from ($qmhs)”;
?>


—————————–

Code:
—————————-
<? //ora_db.php
class ora_db{
var $user,$pass,$db,$sql,$hasil,$kolom;
function konekdb(){
include “db.php”;
$this->user=$user;
$this->pass=$pass;
$this->db=$db;
return ocilogon($this->user,$this->pass,$this->db);
}
function sql($sql){
return ociparse($this->konekdb(),$sql);
}
function execute($hasil){
return ociexecute($hasil);
}
function hitungrow($sql){
$state=ociparse($this->konekdb(),$sql);
ociexecute($state);
ocifetch($state);
return ociresult($state,1);
}
function getarray($hasil){
return ocifetch($hasil);
}
function cols($hasil,$kolom){
return ociresult($hasil,$kolom);
}
function free($hasil){
return oci_free_statement($hasil);
}
}
?>


——————————

Code:
<? include “ora_db.php” ?>
<? //prj.php
class prj extends ora_db{
var $qmhs,$qjmlmhs,$edit;
function seleksimhs(){
include “sql.php”;
$this->qmhs=$qmhs;
return $this->sql($this->qmhs);
}
function jmlmhs(){
include “sql.php”;
$this->qjmlmhs=$qjmlmhs;
return $this->hitungrow($this->qjmlmhs);
}
function insertmhs($qmhs,$qjmlmhs){
return $this->sql(“insert into mahasiswa values(‘$qmhs’,’$qjmlmhs’)”);
}
function seleksidmn($edit){
return $this->sql(“select * from mahasiswa where npm=’$edit'”);
}
function editmhs($qmhs,$qjmlmhs,$edit){
return $this->sql(“update mahasiswa set npm=’$qmhs’,nama=’$qjmlmhs’ where npm=’$edit'”);
}
}
?>

—————————-

Code:
<? include “prj.php” ?>
<?
$obj=new prj;
$obj->konekdb();
$q=$obj->seleksimhs();
$obj->execute($q);
echo $obj->jmlmhs($q).” baris<br>”;
?>
<table border=1>
<tr>
<td>No. </td>
<td>Nama </td>
<td>Alamat</td>
<td>Edit</td>
</tr>
<?
$no=0;
while ($obj->getarray($q)){ $no++;
$npm=$obj->cols($q,1);
?>
<tr>
<td><?=$no?>.</td>
<td><?=$npm?></td>
<td><?=$obj->cols($q,2)?></td>
<td><a href=”Edit.php?npm=<?=$npm?>”>Edit</a></td>
</tr>
<? } $obj->free($q); ?>

——————————–
====
Udah ya, yang edit sama delete silakan coba sendiri 🙂

menembus batas mimpi

Posted in puisi by samsonasik on November 12, 2007

ketika kugambar sepi
tak terasa aku sudah menembus batas mimpi

Pengunaan Config Global pada Delphi

Posted in Tutorial Delphi by samsonasik on November 2, 2007

Sama dengan pemrograman lain, penggunaan config global untuk memudahkan coding dan syntax yang tidak perlu, karena berisi coding-coding generic untuk program tersebut,
Contoh penggunaan di database seperti ini :
Misalkan kita punya Server bernama Serverku, dengan database SQLServer2000 :
Kita buat database dbtest, dengan tabel matakuliah yang berisi kode_matakuliah dan nama_matakuliah bertipe string untuk memudahkan. Ok, sekarang kita buat Datamodule (File->New->Datamodule) — Bernama DM, kita simpan dengan nama file umodul.pas, berikut code unitnya :

Code:

unit umodul;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB;
type
TDM = class(TDataModule)
ADO: TADOConnection;
//Properti Nama Adoquery
Q: TADOQuery;
//Properti Nama Datasource
D: TDataSource;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;

implementation

{$R *.DFM}

end.

———-
Let’s go to global generic code :
Buat Unit baru, bukan form baru lho, tapi unit Baru(File ->New ->Unit) : Kita simpan dengan nama file uconfig.pas, berikut code-nya

Code:
unit uconfig;
interface
procedure db;
procedure seleksi(perintah:String);
implementation
uses umodul;
procedure db;
begin
with DM.ADO do
begin
ConnectionString :=’Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=testdb;Data Source=Serverku’;
LoginPrompt :=False;
end;
end;

procedure seleksi;
begin
with DM do
begin
ADO.Close;
q.Close;
q.SQL.Clear;
q.SQL.Add(perintah);
ADO.Open;
q.Open;
q.Active:=True;
end;
end;

end.

————————–
Dari configurasi global di atas, kita bisa panggil di form secara hemat :
Kita buat satu form, tambahkan object DBGrid ke dalam object form, arahkan Datasource ke DM.D , berikut coding unitnya :

Code:
unit uutama;
interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses umodul,uconfig;
{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);
begin
db;
seleksi(‘select * from matakuliah’);
end;

end.

—————
Run program, akan tampil daftar matakuliah, dari sini kita bisa mengembangkan sendiri, selamat mencoba .

Ingin kubunuh puisi !!!

Posted in kehidupan, puisi by samsonasik on November 1, 2007

Yang menyelimuti keindahan dirimu
agar kudapat hilangkan semua ragu
untuk lenyapkanmu dari mimpi-mimpiku
lalu kubakar sendi-sendi hati yang selalu melukiskan wajahmu
yang membuat seluruh penjuru ruhku bergetar disulut gagu

——————————————–
tapi aku tak mampu….!???!

(___dari hati untuk hati yang bening di lorong waktu___)
——————————————

******
*****
***
**
*
Lalu kubiarkan saja ia merasukiku …
*
**
***
****
*****
dan aku kembali jadi gagu …