Welcome to Abdul Malik Ikhsan's Blog

Generate autofunction save dan update (PHP)

Posted in Tutorial PHP by samsonasik on May 5, 2008

Hal yang paling menjengkelkan pada penggunaan function adalah ketika kita ingin melaksanakan suatu blog program yang sebenarnya intinya sama, cuma berbeda parameternya, contohnya pada saat save dan update database.
Dalam PHP, jumlah argumen yang ada dalam suatu function itu dinamis sebenarnya, jadi kita bisa generate itu menjadi array yang panjangnya dinamis semau kita, berikut contohnya :

Code:
class Konektor
{
function Konektor(){
mysql_connect(“localhost”,”root”,””);
mysql_select_db(“belajar”);
}
function query($query){
return mysql_query($query) or die(mysql_error());
}
function getarray($query){
return mysql_fetch_array($query);
}
function save($table,$var1,$var2){
/**
*cari dulu jumlah argumen pada function save ini
*nantinya, $var1 dan $var2 akan berupa array dinamis 🙂
*/
$numargs = func_num_args();
/** $table adalah nama table nantinya,
*jadi kita kurangi jumlah yang diarraykan
*dengan satu dan dibagi 2 ($var1 dan $var2)
*/
$jmlvar = ($numargs-1)/2;
//insert field pertama …
self::query(“insert into `$table`(`$var1[0]`) values(‘$var2[0]’)”);
for ($i=1;$i<=($jmlvar+1);$i++){
//update field-field yang lain
//berdasarkan yang diinsert tadi …
self::query(“update `$table` set `$var1[$i]`=’$var2[$i]’ where
`$var1[0]` =’$var2[0]'”);
}
}
function update($table,$var1,$var2,$hidden,$id){
/**
*cari dulu jumlah argumen pada function save ini
nantinya, $var1 dan $var2 akan berupa array dinamis 🙂
*/
$numargs = func_num_args();
/** $table adalah nama table nantinya, jadi kita kurangi
* jumlah yang diarraykan dengan tiga variable lain
*/ dan dibagi 2 ($var1 dan $var2)
$jmlvar = ($numargs-3)/2;
//inisialisasi kolom kunci yang telah diubah…
$get = “”;
for ($i=0;$i<=($jmlvar+1);$i++){
if ($i==0){
self::query(“update `$table` set `$var1[$i]`=’$var2[$i]’

where `$id`=’$hidden'”);
$get = $var2[$i];
}
else{
self::query(“update `$table` set `$var1[$i]`=’$var2[$i]’
where `$id`=’$get'”);
}
}
}
}
//dicoba jalankan…
$con = new Konektor();
$con->save(“barang”,array(“kode”,”nama”,”keterangan”),
array(“001″,”roti”,”enak”));
$con->update(“barang”,array(“kode”,”nama”,”keterangan”),
array(“001″,”sabun”,”bagus”),”001″,”kode”);
?>

Advertisements

2 Responses

Subscribe to comments with RSS.

  1. diki dewanto said, on June 4, 2008 at 1:13 pm

    ga ngerti maksud dan arahnya gmn?

    yang pasti untuk memudahkan peng-code-an untuk PHP ya penggunaan OOP nya harus jelas..

    saya msh susah ngerti tntang pembuatan class..

    tolong kasi cara pemehaman atau analogi yg lebih ke program dong..

    misalnya class, untuk input data contoh simplenya gmn mas?

  2. samsonasik said, on June 4, 2008 at 4:13 pm

    ehm…, gmn ya :),
    yang paling penting dari filosofi pemrograman itu adalah konsepnya,
    mas diki harus belajar konsep OOP dulu kalau gitu, kalau masalah nanti penerapannya mau dibuat aplikasi/program yang seperti apa, ya itu tinggal menerapkan konsepnya saja :), sekarang, yang harus paham betul adalah konsepnya dulu 🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: