lawang code

lawang Code


Tanyakan kode disini

expor file database ke format dbf melalui php

ditanyakan oleh muh.ilham 3 tahun yang lalu

kak saya punya skripsi yang salah satu fungsi nya yaitu meretrieve data dari database posgree ke format dbf. saya menggunakan framework yii. sya bingung caranya gimna.

mohon bantuannya. trimakasih.

Menampilkan 1-10 dari 11 hasil
handita okviyanto menjawab 3 tahun yang lalu :

ini ada contoh bagus kok pake php disini Download file librarynya disini atau gak pengen login download sampel projectnya di sini

kmudian kopikan folder phpxbase ke extension di yii

public function actionExportDbf(){    
    //ambil data
    $nim = $_POST['nim'];
    $nama = $_POST['nama'];
    $nilai = $_POST['nilai'];

    /* load the required classes */
    require_once(Yii::app()->basePath . '/extensions/phpxbase/Column.class.php');
    require_once Yii::app()->basePath . "/extensions/Column.class.php";
    require_once Yii::app()->basePath . "/extensions/Record.class.php";
    require_once Yii::app()->basePath . "/extensions/Table.class.php";
    require_once Yii::app()->basePath ."/extensions/WritableTable.class.php";

    /* definisikan field */
    $fields = array(
      array("nim" , DBFFIELD_TYPE_CHAR, 11),
      array("nama" , DBFFIELD_TYPE_CHAR, 50),
      array("nilai" , DBFFIELD_TYPE_NUMERIC, 3, 0)
    );

    /* buat tabel baru */
    $tableNew = XBaseWritableTable::create(Yii::app()->basePath."/mahasiswa.dbf",$fields,false);

    /* masukkan data */
    $r =& $tableNew->appendRecord();
    $r->setObjectByName("nim",$nim);
    $r->setObjectByName("nama",$nama);
    $r->setObjectByName("nilai",$nilai);
    $tableNew->writeRecord();


    /* tutup tabel */
    $tableNew->close();

}

Nah filenya udah terbentuk tinggal arahin aja link hasilnya. Belum aku tes sih ambil idenya aja.


muh.ilham menjawab 3 tahun yang lalu :

pada bagian definisikan field itu kak yang sya masih belum berhasil. karena nama colom maunya nnti dinamis sesuai kolom yang di pilih user. khususnya di bagian mengambil nama colum, tipe data dan panjang feild nya dari database sya masih belum bisa.


handita okviyanto menjawab 3 tahun yang lalu :

pake CDbSchema contohnya nih..

foreach(Yii::app()->db->schema->tableNames as $table){
        foreach(Yii::app()->db->schema->getTable($table) as $name)
        {
            print_r($name);
        }
    }

nanti hasil dumping tablenya contohnya kayak gini

Array
(
    [ID] => CMysqlColumnSchema Object
        (
            [name] => ID
            [rawName] => `ID`
            [allowNull] => 
            [dbType] => int(11)
            [type] => integer
            [defaultValue] => 
            [size] => 11
            [precision] => 11
            [scale] => 
            [isPrimaryKey] => 1
            [isForeignKey] => 
            [autoIncrement] => 1
            [comment] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

    [Isi] => CMysqlColumnSchema Object
        (
            [name] => Isi
            [rawName] => `Isi`
            [allowNull] => 1
            [dbType] => text
            [type] => string
            [defaultValue] => 
            [size] => 
            [precision] => 
            [scale] => 
            [isPrimaryKey] => 
            [isForeignKey] => 
            [autoIncrement] => 
            [comment] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

    [TglDibuat] => CMysqlColumnSchema Object
        (
            [name] => TglDibuat
            [rawName] => `TglDibuat`
            [allowNull] => 
            [dbType] => timestamp
            [type] => string
            [defaultValue] => 
            [size] => 
            [precision] => 
            [scale] => 
            [isPrimaryKey] => 
            [isForeignKey] => 
            [autoIncrement] => 
            [comment] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

    [IDPostFK] => CMysqlColumnSchema Object
        (
            [name] => IDPostFK
            [rawName] => `IDPostFK`
            [allowNull] => 
            [dbType] => int(11)
            [type] => integer
            [defaultValue] => 0
            [size] => 11
            [precision] => 11
            [scale] => 
            [isPrimaryKey] => 
            [isForeignKey] => 
            [autoIncrement] => 
            [comment] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

    [IDUserFK] => CMysqlColumnSchema Object
        (
            [name] => IDUserFK
            [rawName] => `IDUserFK`
            [allowNull] => 
            [dbType] => int(11)
            [type] => integer
            [defaultValue] => 0
            [size] => 11
            [precision] => 11
            [scale] => 
            [isPrimaryKey] => 
            [isForeignKey] => 
            [autoIncrement] => 
            [comment] => 
            [_e:CComponent:private] => 
            [_m:CComponent:private] => 
        )

)

Tinggal sesuaiin nama kolom yang diinginkan


muh.ilham menjawab 3 tahun yang lalu :

mengambil nama tabel sama dbtype dari dumpig itu saya belum bisa kak, bisa tolong dicontohkan, biar bisa masuk ke code di bawah.

  /* definisikan field */
 $fields = array(
          array("nim" , DBFFIELD_TYPE_CHAR, 11),
          array("nama" , DBFFIELD_TYPE_CHAR, 50),
          array("nilai" , DBFFIELD_TYPE_NUMERIC, 3, 0)
 );`




handita okviyanto menjawab 3 tahun yang lalu :

Gini aja pake fungsi

 public function getTableStructure($table){
  return Yii::app()->db->schema->getTable($table);
}

public function getColumnTypes($table,$column){
  $tableSchema= Yii::app()->db->schema->getTable($table);
  return $tableSchema[$column];
}
 public function getType($type){
  if($type=='string')
    return  DBFFIELD_TYPE_CHAR;
  ...dst

}

Nah tinggal makenya kan misal

 $columNama=$this->getColumTypes("Mahasiswa","nama");
$fields=array(
  array($columnNama->name,$this->getType($columnNama->type),$columnNama->size)
)


muh.ilham menjawab 3 tahun yang lalu :

kak ada eror di bagian

return $tableSchema[$column];

errornya gini "Fatal error: Cannot use object of type CPgsqlTableSchema as array in "

nama column dan tabel udah saya masukan.

oh iya ini nama colom nya bisa banyak kan kak?


handita okviyanto menjawab 3 tahun yang lalu :

oh iya salah.. tinggal sesuaikan aja ma dumping tablenya tadi kan

public function getColumnTypes($table,$column){
  $tableSchema= Yii::app()->db->schema->getTable($table);
  return $tableSchema->columns[$column];
}


muh.ilham menjawab 3 tahun yang lalu :
 return $tableSchema->columns[$name];

yang $name itu apa kak? apa maksudnya $column ya.


handita okviyanto menjawab 3 tahun yang lalu :

oh iya salah sory udah aku edit :D


muh.ilham menjawab 3 tahun yang lalu :

udah sucsess kak trima kasih.

maaf nanya lagi untuk banyak kolom gimna kak?


Anda harus login terlebih dahulu untuk memberikan komentar

Recent Tag

X 6
X 48
X 14
X 10
X 1
X 5
X 4
X 13
X 10

Bantuan

Help

Feedback

Help