Senin, 10 Juni 2013

Search Show Hidden Row Table


$('#btn_search_line').click( function() {
       
    var _m_route_id_ = $('#_m_route_id_').val();        
    if(_m_route_id_ ==''){
      $('#m_route_id').val('');
    }
    var _m_activity_id_ = $('#_m_activity_id_').val();        
    if(_m_activity_id_ ==''){
      $('#m_activity_id').val('');
    }
   
    var m_route_ids = $('#m_route_id').val(); 
    var m_activity_ids = $('#m_activity_id').val();  
   
    var $table = $("#tableGrid");
    $rows = $table.find("tr");
    var rows = [];
    var i = 0;
     
    $rows.each(function(row,v) {
        i++;   
        if($('#m_route_id_'+i).val()!= m_route_ids && m_route_ids != ''){
           
            $('#tableGrid tr#row'+i).hide();

        }
        else if($('#m_activity_id_'+i).val()!= m_activity_ids && m_activity_ids != ''){
           
            $('#tableGrid tr#row'+i).hide();
         }
        else{
            $('#tableGrid tr#row'+i).show(); 
            //$('#m_activity_id').val('');
            if(m_route_ids == '' || m_activity_ids == ''){
                $('#tableGrid tr#row'+i).show();
            } 
        }
     
        });
       
    });
Continue Reading...

Jquery

Continue Reading...

JQUERY Form Event


$('#_m_truck_type_id_').focus();

$('#_m_truck_type_id_').val();

$('#m_activity_id :selected').val();

$('#vv_flag').change();

$('#vv_flag').attr('checked');

$('.show_vv_flag').show('1000');

$('.show_vv_flag').hide('1000');

$('#si_flag').attr('checked', false);

$('#process_t_agreement_id').html();

$('#multiplier').attr('readonly','');

$('#multiplier').attr('readonly','readonly');
-----------------------------------------------
$('#nett_weight,#tare_weight').bind('blur keyup', function(){});

$('#btn_del_line').click( function() {});

window.setTimeout(function() {checkTotalLineAmmount(curr);}, 3000);

$("tr#totalcost").append();

$(window).load(function () {});

$("td#td_"+curr).remove();

$(this).attr('style', 'border:1px solid;background:#FFFFFF;');

$('#tableGrid tr').each(function() { });

$('#tableGrid tr#row'+i).hide();

$('#tableGrid tr#row'+i).hide();

Continue Reading...

Mengganti Null di My SQL


select tbl_pelanggan.id_pelanggan, tbl_pelanggan.nm_pelanggan,IFNULL(tbl_pesan.tgl_pesan,"kosong")  from tbl_pelanggan LEFT JOIN tbl_pesan ON tbl_pelanggan.id_pelanggan=tbl_pesan.id_pelanggan
Continue Reading...

Explain Tuning database


EXPLAIN SELECT * FROM ref_table, table_lain WHERE ref_table.key_column = table_lain.column;
Continue Reading...

Searcing Mysql by Like n Regex


SELECT * FROM m_cities WHERE   NAME REGEXP "^.{7}$"
SELECT * FROM m_cities WHERE   NAME REGEXP "^....."
SELECT * FROM m_cities WHERE   NAME REGEXP "w"
SELECT * FROM m_cities WHERE NAME LIKE '__E__K'
SELECT * FROM m_cities WHERE   NAME LIKE "%TA%"
Continue Reading...

SQL

Continue Reading...

Mencari Duplikat data


SELECT id,container_no FROM trans_container_imports GROUP BY container_no HAVING COUNT(*) > 1
Continue Reading...

PHP Array Function

Salah satu kelebihan PHP adalah pada bagian array dimana array pada PHP bersifat dinamis tanpa perlu inisialisasi awal. Selain itu array pada PHP juga memiliki banyak fungsi pendukung.
Pada ulasan kali ini hanya akan membahas beberapa fungsi array PHP yang banyak digunakan dan tergolong cukup penting.
1. asort() dan arsort()
Fungsi asort mengurutkan nilai array secara ascending (dari kecil ke besar),dengan mempertahankan nilai indexnya.
Sebaliknya fungsi arsort mengurutkan nilai array secara descending (dari besar ke kecil).
Berikut adalah contoh dari fungsi asort()

 "1", 
 "c" => "3", 
 "b" => "0", 
 "a" => "5", 
 "e" => "9" );
asort($x);
foreach ($x as $key => $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ b ] = 0
[ d ] = 1
[ c ] = 3
[ a ] = 5
[ e ] = 9
2. ksort() dan krsort()
ksort merupakan fungsi yang mengurutkan array pada PHP berdasarkan nilai pada indexnya, urut secara ascending (dari kecil ke besar).
Sedangkan krsort merupakan fungsi yang mengurutkan array pada PHP berdasarkan nilai pada indexnya secara descending (dari besar ke kecil)
contoh dari ksort()
 "1", 
 "c" => "3", 
 "b" => "0", 
 "a" => "5", 
 "e" => "9" );
ksort($x);
foreach ($x as $key => $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ a ] = 5
[ b ] = 0
[ c ] = 3
[ d ] = 1
[ e ] = 9
Ingat!! fungsi pada nomor 1 dan 2 mempertahankan hubungan antara index array dan nilai array.
Untuk nomor 3 berikut ini tidak mempertahankan hubungan antara index array dan nilai array.
3. sort() dan rsort()
Fungsi sort() mengurutkan nilai pada array dengan tidak mempertahankan hubungan index dengan nilainya, urut ascennding, dari nilai kecil ke besar.
sedangkan rsort() merupakan kebalikan sort() yaitu mengurutkan secara descending, dari besar ke kecil.
contoh dari sort()
 "1", 
 "c" => "3", 
 "b" => "0", 
 "a" => "5", 
 "e" => "9" );
sort($x);
foreach ($x as $key => $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ 0 ] = 0
[ 1 ] = 1
[ 2 ] = 3
[ 3 ] = 5
[ 4 ] = 9
4. shuffle() mengacak nilai pada array.
contoh
 "1", 
 "c" => "3", 
 "b" => "0", 
 "a" => "5", 
 "e" => "9" );
shuffle($x);
foreach ($x as $key => $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ 0 ] = 9
[ 1 ] = 3
[ 2 ] = 0
[ 3 ] = 5
[ 4 ] = 1
5. unset()
fungsi unset digunakan untuk menghapus array tertentu.
contohnya
 $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ 0 ] = 1
[ 1 ] = 3
[ 3 ] = 5
[ 4 ] = 9
dapat dilihat bahwa array $x[2] = 0 dihapus.
6. array_values()
fungsi array_values() digunakan untuk menyusun kembali array yang ada (merapikan array).
 $val) {
    echo "[ $key ] = $val
";
}
echo "dengan fungsi array_values() menjadi 
";
$x=array_values($x);
foreach ($x as $key => $val) {
    echo "[ $key ] = $val
";
}
?>
outputnya:
[ 0 ] = 1
[ 1 ] = 3
[ 3 ] = 5
[ 4 ] = 9
dengan fungsi array_values() menjadi 
[ 0 ] = 1
[ 1 ] = 3
[ 2 ] = 5
[ 3 ] = 9
array $x[2] = 0 yang tadi dihapus yang sebelumnya hilang, kemudian diisi dengan nilai dari array index berikutnya dengan menggunakan fungsi array_values()
7. max() dan min()
fungsi max() dan min() digunakan untuk mencari nilai terbesar dan terkecil pada array.
contoh
nilai max = $max, nilai min = $min";
?>
outputnya:
Array ( [0] => 1 [1] => 3 [2] => 0 [3] => 5 [4] => 9 ) 
nilai max = 9, nilai min = 0
8. array_search()
fungsi array_search() digunakan untuk melakukan pencarian terhadap index dari suatu array berdasarkan nilai.
contoh
nilai max = $max, nilai min = $min";

$index_min = array_search($min,$x);
$index_max = array_search($max,$x);
echo "
index max = $index_max, index min = $index_min";
?>
outputnya:
Array ( [0] => 1 [1] => 3 [2] => 0 [3] => 5 [4] => 9 ) 
nilai max = 9, nilai min = 0
index max = 4, index min = 2
9. array_unique()
fungsi array_unique digunakan untuk memastikan nilai array bersifat unik atau tidak ada nilai kembar pada array tersebut.
contoh
dengan array_unique
";
print_r($y);
?>
outputnya:
Array ( [0] => 1 [1] => 5 [2] => 0 [3] => 5 [4] => 1 ) 
dengan array_unique
Array ( [0] => 1 [1] => 5 [2] => 0 )
10. count()
fungsi count() digunakan untuk menghitung jumlah array yang ada.
contoh
jumlah array x adalah = $y";
?>
outputnya:
Array ( [0] => 1 [1] => 5 [2] => 0 [3] => 5 [4] => 1 [5] => 7 [6] => 3 [7] => 2 ) 
jumlah array x adalah = 8
Continue Reading...

JSON

 GET Value from input kriteria
====================$(function(){
  
    $('#_setup_customer_id_').blur( function(){
      
        var slctVal=$('#setup_customer_id :selected').val();
        //alert(slctVal);
        var uri = basePath + '/' + namePath + '/findJO/';
        if (slctVal) {
        
        $('#_trans_job_order_id_').remove();
        $('#trans_job_order_id').attr('class', '');
        $('#_trans_job_order_id_').attr('class', '');
        $('#_trans_job_order_id_').attr('class', 'required');
        $('#trans_job_order_id').select_autocomplete();
        
        $.getJSON(uri, {setup_customer_id: slctVal}, function( data ) {
            $('#trans_job_order_id').empty();
            if(data[0]) {
                $('#trans_job_order_id').append('');
                for(var x=0; x                
                    $('#trans_job_order_id').append('');
                }
            }else {
                $('#trans_job_order_id').empty();
                $('#trans_job_order_id').append("");
            }
        });
        
        //$('#_setup_service_id_').attr('onBlur', '');
        //$('#setup_agreement_id').empty();
        //$('#setup_agreement_id').append('');
        //$('#_setup_service_id_').attr('onBlur', 'getAgreement()');
        }
    });
 --------------------------------------------------------------------------------------------------

function getAgreement(){
    var slctVal = $('#setup_customer_id :selected').val();
    var slctVal2 = $('#setup_service_id :selected').val();
   
        if(slctVal) {
            var uri = basePath + '/' + namePath + '/findAgreement/';
           
            $.getJSON(uri, {setup_customer_id: slctVal, setup_service_id: slctVal2}, function(data) {
                console.log(data);
               
                $('#_setup_agreement_id_').remove();
                $('#setup_agreement_id').attr('class', '');
                $('#_setup_agreement_id_').attr('class', '');
                $('#_setup_agreement_id_').attr('class', 'required');
                $('#setup_agreement_id').select_autocomplete();

                if(data[0]) {
                   
                    $('#setup_agreement_id').append('');
                    for(var x=0; x                       
                        $('#setup_agreement_id').append('');
                    }
                   
                } else {
                    $('#setup_agreement_id').append("");
                }
               
                $('#process_m_route_id').html('');
            //    $('#setup_agreement_id').select_autocomplete();
               
            });
        }
}


-------------------------------------------------------------------------


function findActivity(){
        /*if(Configure::write('debug')>0){
            Configure::write('debug', 0);
        }*/

        $this->loadModel('TAgreementDetail');
        $options = $result = array();
        $options['recursive'] = 1;
        $options['conditions']['TAgreementDetail.t_agreement_id ='] = $this->params['url']['t_agreement_id'];
        $options['conditions']['TAgreementDetail.m_route_id ='] = $this->params['url']['m_route_id'];
        $options['conditions']['TAgreementDetail.m_activity_id ='] = $this->params['url']['m_activity_id'];
        $options['conditions']['TAgreementDetail.status ='] = 'Y';
        $options['group'] = array('TAgreementDetail.m_activity_id');
        $result = $this->TAgreementDetail->find('all', $options);

        $this->layout= 'json/default';
        $this->viewPath="common";

        $this->set('result', $result);
        $this->render('autocomplete');
  }
 
Continue Reading...

View Cake PHP

Form Input
==========
$params['type'] = 'hidden';
$params['name'] = 'data[TJobOrder][job_order_date]';
$params['value'] = $this->data['TJobOrder']['job_order_date'];
echo $form->input('job_order_date', $params);

Form Select
========
$form->select('flag_confirm', array('s'=>'Sales','q'=>'Quotation'), isset($flag_confirmVal)?$flag_confirmVal : '', array('class' => 'skip-autocomplete'))

Submit Search n Clear
=====================
echo $form->submit('Search', array('div'=>false, 'name' => 'search')) . " ";
echo $html->link(__('Clear', true), array('action'=>'index'), array('class'=>'clear')) . " ";
Continue Reading...

Model Cake PHP

class TAgreement extends AppModel {
  var $name = 'TAgreement';
   
  var $belongsTo = array(
        'TQuotation' => array(
            'className' => 'TQuotation',       
            'foreignKey' => 't_quotation_id'
        ),
        'MCustomer' => array(
            'className' => 'MCustomer',
            'foreignKey' => 'm_customer_id',
        ),
        'MEmployee' => array(
            'className' => 'MEmployee',
            'foreignKey' => 'salesperson_id',
        ),
    );
   
    var $hasOne = array(
        'TAgreementUpload' => array(
            'className' => 'TAgreementUpload',       
            'foreignKey' => 't_agreement_id'
        )
    );
   
    var $hasMany = array(
        'TAgreementDetail' => array(
            'className' => 'TAgreementDetail',       
            'foreignKey' => 't_agreement_id'
        )
    );
   
}
?>
Continue Reading...

Minggu, 09 Juni 2013

CAKE PHP

Continue Reading...

Controller Cake PHP

Meload Model
===========

$this->loadModel('MCustomer'); 

Mencari data berdasarkan Kriteria
=========================
array(
    'conditions' => array('Model.field' => $thisValue), //array of conditions
    'recursive' => 1, //int
    'fields' => array('Model.field1', 'DISTINCT Model.field2'), //array of field names
    'order' => array('Model.created', 'Model.field3 DESC'), //string or array defining order
    'group' => array('Model.field'), //fields to GROUP BY
    'limit' => n, //int
    'page' => n, //int
    'offset' => n, //int
    'callbacks' => true //other possible values are false, 'before', 'after'
)
 
----------------------------------------------------------------------- 

$this->set('mCustomer',$this->$modelName->MCustomer->find('all',
array('fields' => array('id','first_name'),'conditions' => array('MCustomer.flag_active' => 1))));
----------------------------------------------------
$options['conditions']['MCostList.m_activity_id ='] = $this->params['url']['m_activity_id'];
$options['conditions']['MCostList.m_route_id ='] = $this->params['url']['m_route_id'];    $options['conditions']['MCostList.m_service_id ='] = $this->params['url']['m_service_id'];
$options['conditions']['MCostList.m_brand_id ='] = $brand_id['MTruck']['m_brand_id'];
$result = $this->MCostList->find('all', $options);

Conditions
=======
 $condition["TJobOrder.approval"] = 1;
 $condition["TJobOrder.complete_status"] = 0;
 $condition["TJobOrder.branch_id"] = $branchId;
 $condition["TJobOrder.flag_cancel !="] = 'Y';
 $condition["TJobOrder.flag_interport"] = 0;
 $condition["TJobOrder.job_order_date >="] = $intervalDate[0][0]['date_int'];
 $condition["TJobOrder.job_order_date <="] = $nowDate;

$this->set('records', $this->paginate($modelName, $condition));
---------------------------------------------------------------------------------------
$conditionIndex = array("index", "TJobOrder.job_order_date <= '".$nowDate."' AND TJobOrder.job_order_date >='".$intervalDate[0][0]['date_int']."' AND TJobOrder.approval = 1 AND TJobOrder.flag_interport = '0' AND TJobOrder.complete_status = 0 AND TJobOrder.branch_id=".$branchId." AND TJobOrder.flag_cancel != 'Y' GROUP BY TJobOrder.id HAVING qty_allocation_detail < qty_job_order_detail");

 $records = $this->paginate('TAllocation',$conditionIndex);

OR Conditions
==========
$status = 3;
$conditions = array('Company.status' => array(0, $status));
--------------------------------------------------------------
$params = array('contain' => 'Product.name',
                'fields' => array('DISTINCT(Equipment.product_id) AS
id', 'Product.name'),
                'order' => array('Product.name'),
                'group' => array('Equipment.product_id'),
                'conditions' => array(
                        'AND' => array(
                                'Equipment.company_id' => $this->passedArgs['company'],
                                'Equipment.deleted' => 0,
                                'OR' => array(
                                        'Equipment.location_id' => null,
                                        'Equipment.location_id' => -1,
                                        'Equipment.location_id' => -2
                                )
                        )
                )); 
--------------------------------------------------------------
array(
    'OR' => array(
        array('Company.name' => 'Future Holdings'),
        array('Company.city' => 'CA')
    ),
    'AND' => array(
        array(
            'OR' => array(
                array('Company.status' => 'active'),
                'NOT' => array(
                    array('Company.status' => array('inactive', 'suspended'))
                )
            )
        )
    )
) 
 
JOIN Table
==========
$options['joins'] = array(
    array('table' => 'channels',
        'alias' => 'Channel',
        'type' => 'LEFT',
        'conditions' => array(
            'Channel.id = Item.channel_id',
        )
    )
);

$Item->find('all', $options);
  
Pagination
 =======
$this->paginate['limit'] = 40;
$this->paginate['recursive'] = 2;
$this->paginate['conditions']['TAllocationDetail.status_sm >'] = 0;
$this->paginate['conditions']['TAllocationDetail.print_status'] = 0;
$this->paginate['conditions']['TAllocation.branch_id'] = $this->Myappuser->getBranchId();
$this->paginate['order'] = array("TAllocation.date" => 'DESC');

Save data
========
$this->$modelName->saveAll($this->data)

Unbind Model
==========
$this->TDebitNote->unbindModel(array(
            'belongsTo' => array(
                'TJobOrder','MCustomer','TBillingPreparation'
            ),
           
        ), false);

--------------------------------------------------------------------------------
$this->$modelName->TBillingPreparation->TJobOrder->unbindModel(array(
            'belongsTo' => array(
                'TAgreement',
                'MBranch',
            ),
            'hasOne' => array(
                'TAllocation',
                'TBillingPreparation',
                'TDebitNote',
            ),
            'hasMany' => array(
                'TJobOrderDetail',
            ),
        ), false);

Unbind Semuanya dan Mengmbil yang terpakai
=================================
$this->MktAgreementDetail->unbindAll(array('belongsTo'=>array('MktAgreementDetail','SetupActivity','SetupUnit')));

 Mengambil Customer dari table transaksi
=======================================
$this->loadModel('TransPraInfoExport');
$this->TransPraInfoExport->unbindall(array('belongsTo'=>array('SetupCustomer')));
$this->TransPraInfoExport->SetupCustomer->unbindall();
$customers = $this->TransPraInfoExport->find('all', array('fields'=>'SetupCustomer.id,SetupCustomer.name', 'recursive' => 2,'group'=>'setup_customer_id'));
$this->set('customers',$customers);

Mengambil data tertentu untuk dimasukkan ke $this->data tertentu
=============================================
foreach($this->data["TAllocationDetail"]['detail'] as $key=>$index) {
                $this->data["TBopDetail"][$key]['cost_type'] = $index['cost_type'];
                $this->data["TBopDetail"][$key]['m_cost_id'] = $index['m_cost_id'];
                $this->data["TBopDetail"][$key]['m_currency_id'] = $index['m_currency_id'];
                $this->data["TBopDetail"][$key]['amount'] =  $index['amount'];    
                }
Continue Reading...