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;
}
}
}