50 lines
1.6 KiB
PHP
50 lines
1.6 KiB
PHP
<?php
|
|
namespace Aiko;
|
|
|
|
/**
|
|
* Main Trait
|
|
*/
|
|
trait Maintrait
|
|
{
|
|
/**
|
|
* asumsi data yang di kirim sudah ada tidak perlu cek lagi dan array harus 2 dimensi
|
|
*/
|
|
public function saveToTmpTable($registry,$list,$fields,$tblname='main_tmp_table')
|
|
{
|
|
try {
|
|
$registry->db->beginTransaction();
|
|
|
|
// drop tmp table
|
|
$sqlDropExist = "DROP TEMPORARY TABLE IF EXISTS $tblname";
|
|
$stmtDropExist=$this->registry->db->prepare($sqlDropExist);
|
|
$stmtDropExist->execute();
|
|
|
|
// create table
|
|
$sqlCreate='CREATE TEMPORARY TABLE '.$tblname. ' ( ';
|
|
$sqlCreate .=$fields[0]['field'].' '.$fields[0]['type'].'('.$fields[0]['length'].')';
|
|
$jum=count($fields);
|
|
for ($i = 1; $i < $jum; $i++) {
|
|
$sqlCreate .=' , '.$fields[$i]['field'].' '.$fields[$i]['type'].'('.$fields[$i]['length'].')';
|
|
}
|
|
|
|
|
|
$sqlCreate .=')';
|
|
|
|
var_dump($sqlCreate);
|
|
|
|
$registry->db->commit();
|
|
|
|
return true;
|
|
} catch (PDOException $e) {
|
|
$registry->db->rollBack();
|
|
$this->registry->log->error('Main trait in lib /saveToTmpTable :'.$e->getMessage().', user: '.\Helper::getSessionVar('username'));
|
|
|
|
return false;
|
|
} catch (ErrorException $e) {
|
|
$registry->db->rollBack();
|
|
$this->registry->log->error('Main trait in lib /saveToTmpTable :'.$e->getMessage().', user: '.\Helper::getSessionVar('username'));
|
|
|
|
return false;
|
|
}
|
|
}
|
|
} |