Yii Framework Forum: Import Excel Ke Database Menggunakan Jphpexcelreader - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Import Excel Ke Database Menggunakan Jphpexcelreader Cara Insert ke banyak table Rate Topic: -----

#1 User is offline   pramkimpam 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 17-May 14

Posted 09 July 2014 - 02:57 AM

Ane punya dua tabel: "pelamar" dan "Pendidikan". atribut 'no_pelamar' di "Pendidikan" memiliki foreign key ke "no_pelamar" dalam "pelamar". ane membuat atribut "no_pelamar" sebagai primary key dan AUTO_INCREMENT.
Ane ingin mengimpor data excel ke tabel pelamar Dan Pendidikan, Tapi Ane ga bisa merujuk relasi antara pelamar dan pendidikan. Ane ga bisa ngambil nilai auto increment dari no_pelamar di tabel pelamar, karena perlu untuk dimasukkan ke table pendidikan atribut no_pelamar karena foreign key ke pelamar..
Ane minta tolong cara mendapatkan nilai auto incrementnya gimana yah master..
Terima kasih bantuannya

ini file controller saya..

public function actionImport()
	{
		 Yii::import('ext.phpexcelreader.JPhpExcelReader');

		 $model=new Pelamar;
		 $pengja=new PengalamanKerja;
		 $pendik=new Pendidikan;

		 $pendik->no_pelamar = $model->no_pelamar;
		 $pengja->no_pelamar = $model->no_pelamar;

		 if(isset($_POST['Pelamar']))
		 {
			 $model->attributes=$_POST['Pelamar'];
			 $fileUpload=CUploadedFile::getInstance($model,'filee');
			 $path=Yii::getPathOfAlias('webroot').'/FileExcel/'.$fileUpload;
			 $fileUpload->saveAs($path);
			 
			 if( !file_exists( $path ) ) die( 'File could not be found at: ' . $path );
			 	//$data=new JPhpExcelReader(Yii::app()->getBasePath().'/import/'.$fileUpload);
			 $data=new JPhpExcelReader($path);
			 $baris = $data->rowcount($sheet_index=0);

			 echo $baris;
			 
			 $sukses = 0;
			 $gagal = 0;
			 
			 for ($i=2; $i<=$baris; $i++)
			 {
			 	 
			 	 $no_pelamar = $data->val($i, 1);
				 $nama = $data->val($i, 2);
				 $program = $data->val($i, 3);
				 //tgl_lahir
				 $awal_tgl_lahir = $data->val($i, 4);
				 $proses_tgl_lahir = strtotime($awal_tgl_lahir);
				 $tgl_lahir = date('Y-m-d', $proses_tgl_lahir);


				 //Pendidikan
				 //Pendidikan
				 //Pendidikan
				 
				 $program_pendidikan   = $data->val($i, 5);
				 $instansi = $data->val($i, 6);
				 $jurusan = $data->val($i, 7);
				 //tgl_mulai_pendidikan
				 $awal_tgl_mulai_pendidikan = $data->val($i, 8);
				 $proses_tgl_mulai_pendidikan = strtotime($awal_tgl_mulai_pendidikan);
				 $tgl_mulai_pendidikan = date('Y-m-d', $proses_tgl_mulai_pendidikan);
				 //tgl_akhir_penelitian
				 $awal_tgl_akhir_pendidikan = $data->val($i, 9);
				 $proses_tgl_akhir_pendidikan = strtotime($awal_tgl_akhir_pendidikan);
				 $tgl_akhir_pendidikan = date('Y-m-d', $proses_tgl_akhir_pendidikan);
				 
				 $ipk = $data->val($i, 10);
				 $sertifikasi = $data->val($i, 11);

				 //Pengalaman Kerja
				 //Pengalaman Kerja
				 //Pengalaman Kerja
				 $nama_perusahaan = $data->val($i, 12);
				 $posisi = $data->val($i, 13);
				 //tgl_mulai_pengalaman
				 $awal_tgl_mulai_pengalaman = $data->val($i, 14);
				 $proses_tgl_mulai_pengalaman = strtotime($awal_tgl_mulai_pengalaman);
				 $tgl_mulai_pengalaman = date('Y-m-d', $proses_tgl_mulai_pengalaman);
				 //tgl_akhir_pengalaman
				 $awal_tgl_akhir_pengalaman = $data->val($i, 15);
				 $proses_tgl_akhir_pengalaman = strtotime($awal_tgl_akhir_pengalaman);
				 $tgl_akhir_pengalaman = date('Y-m-d', $proses_tgl_akhir_pengalaman);
				 
				 $total_tahun = $data->val($i, 16);
				 $total_bulan = $data->val($i, 17);
				 $gaji = $data->val($i, 18);


				 $email = $data->val($i, 19);
				 $no_hp = $data->val($i, 20);
				 //$tgl_lamaran = $data->val($i, 7);
				 $awal_tgl_lamaran = $data->val($i, 21);
				 $proses_tgl_lamaran = strtotime($awal_tgl_lamaran);
				 $tgl_lamaran = date('Y-m-d', $proses_tgl_lamaran);

				 $keterangan = $data->val($i, 22);
				 $direktorat = $data->val($i, 23);
				 $posisi_dilamar = $data->val($i, 24);
				 $seleksi_admin = $data->val($i, 25);
				 $psikotest = $data->val($i, 26);
				 $toeic_status = $data->val($i, 27);
				 $toeic_nilai = $data->val($i, 28);
				 $assessment = $data->val($i, 29);
				 $interview_user = $data->val($i, 30);
				 $mcu = $data->val($i, 31);
				 $interview_topmanager = $data->val($i, 32);
				 $hasil = $data->val($i, 33);

				 $awal_tgl_tugas = $data->val($i, 34);
				 $proses_tgl_tugas = strtotime($awal_tgl_tugas);
				 $tgl_mulai_tugas = date('Y-m-d', $proses_tgl_tugas);
				 


				 $command = Yii::app()->db->createCommand();
				 $command->insert('Pelamar', array(
				 'program'=>$program,
				 //'no_pelamar'=>$no_pelamar,
				 'nama'=>$nama,
				 'tgl_lahir'=>$tgl_lahir,
				 'email'=>$email,
				 'no_hp'=>$no_hp,
				 'tgl_lamaran'=>$tgl_lamaran,
				 'keterangan'=>$keterangan,
				 'direktorat'=>$direktorat,
				 'posisi_dilamar'=>$posisi_dilamar,
				 'seleksi_admin'=>$seleksi_admin,
				 'psikotest'=>$psikotest,
				 'toeic_status'=>$toeic_status,
				 'toeic_nilai'=>$toeic_nilai,
				 'assessment'=>$assessment,
				 'interview_user'=>$interview_user,
				 'mcu'=>$mcu,
				 'interview_topmanager'=>$interview_topmanager,
				 'hasil'=>$hasil,
				 'tgl_mulai_tugas'=>$tgl_mulai_tugas,
				 ));
				 
				 // $user = Yii::app()->db->createCommand()
				 //    ->select('AUTO_INCREMENT')
				 //    ->from('Pelamar')
				 //    ->where('TABLE_NAME="pelamar"')
				 //    ->queryRow();

				 // $command = Yii::app()->db->createCommand('SELECT AUTO_INCREMENT FROM pertagasmana.pelamar
				 // 											WHERE TABLE_SCHEMA = "pertagasmana"
				 // 											AND TABLE_NAME = "pelamar"');

				 $command->insert('Pendidikan', array(
				 //'no_pelamar'=>$no_pelamar,
				 'no_pelamar'=>$model->no_pelamar,
				 'program_pendidikan'=>$program_pendidikan,
				 'instansi'=>$instansi,
				 'jurusan'=>$jurusan,
				 'tgl_mulai_pendidikan'=>$tgl_mulai_pendidikan,
				 'tgl_akhir_pendidikan'=>$tgl_akhir_pendidikan,
				 'ipk'=>$ipk,
				 'sertifikasi'=>$sertifikasi,
				 ));


				 $command->insert('PengalamanKerja', array(
				 //'no_pelamar'=>$no_pelamar,
				 'no_pelamar'=>$model->no_pelamar,
				 'nama_perusahaan'=>$nama_perusahaan,
				 'posisi'=>$posisi,
				 'tgl_mulai_pengalaman'=>$tgl_mulai_pengalaman,
				 'tgl_akhir_pengalaman'=>$tgl_akhir_pengalaman,
				 'total_bulan'=>$total_bulan,
				 'total_tahun'=>$total_tahun,
				 'gaji'=>$gaji,
				 ));
				 if ($command) $sukses++;
				 else $gagal++;
			 }

			 echo "<h3>Proses import data selesai.</h3>";
			 echo "<p>Jumlah data yang sukses diimport : ".$sukses."<br>";
			 echo "Jumlah data yang gagal diimport : ".$gagal."</p>";
			 echo "nomor pelamar nya : "; echo $no_pelamar;
			 
			 unlink($path);
			 //$this->redirect(array('admin'));
		 }
		 $this->render('import',array('model'=>$model));
	}


0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users