Datatables Highlight Row

Wednesday, November 21, 2018

Function untuk datatables lama. Jika perlu highlight mana-mana baris data, gunakan function ini.

Contoh, kita perlu highlight baris data yang ada perkataan "Bajau". Dan baris data ini berada di baris yang ke-35. Jika datatables kita setkan paging setiap 10 data, maka Bajau akan berada di page ke-4.

Function ini akan langkah ke page #4, dan highlightkan baris data tersebut.

function highlight_row(string_to_search, target_column_index, color, datatable_object_id){

 var datatable_object=tables_id[datatable_object_id];
 var value=string_to_search;
 var index=target_column_index;

 value=value+'';

 var a=datatable_object.DataTable();
 var list=a.fnGetNodes();

 for(var i=0; i<list.length; i++){

  var b=$(list[i]);

  var s=b[0].children[index].innerText+'';

  s=s.trim();
  s=s.toUpperCase();

  value=value.toUpperCase();

  if(s==value){
   row_number=i;
   i=list.length;
  }
 }
 $($(a.fnGetNodes()[row_number]).children()).css('background', color);

 var t=(a.fnPagingInfo()).iLength;
 var n=Math.floor(row_number/t);

 a.fnPageChange(n);
}

thisName tu kita berikan nama "bajau".

Jadi, nilai yang perlu diberikan pada function highlight_row adalah: thisName, 2 (kedudukan "bajau" tu terletak pada column ke-2), datatable_bangsa (id bagi datatables yang digunakan).

thisName=$('#data<?php echo $_POST['ruj_bangsa']['title_s'] ?>2').val();

setTimeout(function(){
  highlight_row(thisName, 2, '#ffff66', 'datatable_bangsa');
}, 1000);

Dump Dan Restore MySQL

Monday, October 02, 2017

Dump Satu Database
mysqldump nama_db > nama_db.sql
Dump Dari remote database
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Dump satu table
mysqldump nama_db nama_table > nama_table.sql
Dump lebih dari satu table
mysqldump nama_db nama_table1 nama_table2 nama_table2 > banyak_table.sql
Restore
mysql -u username -p db_name < /path/to/table_name.sql

Datepicker Butang Today dan Tukar Bahasa

Tuesday, September 19, 2017

Bagi memamparkan butang TODAY pada pilihan datepicker, setkan btntoday = true.

Buka fail .../bootstrap-datepicker/js/bootstrap-datepicker.js, tukar setting di var defaults = $.fn.datepicker.defaults = { ... }

 var defaults = $.fn.datepicker.defaults = {
  autoclose: false,
  beforeShowDay: $.noop,
  calendarWeeks: false,
  clearBtn: false,
  daysOfWeekDisabled: [],
  endDate: Infinity,
  forceParse: true,
  format: 'mm/dd/yyyy',
  keyboardNavigation: true,
  language: 'ms',
  minViewMode: 0,
  orientation: "auto",
  rtl: false,
  startDate: -Infinity,
  startView: 0,
  todayBtn: true,
  todayHighlight: false,
  weekStart: 0
 };

Bagi menukar bahasa melayu, selain setting di atas tukar mode language: 'ms', tambah maklumat ms seperti di bawah. Tambah  ms selepas en pada var dates = $.fn.datepicker.dates = { en: { ... }, ms: { ... }};

 var dates = $.fn.datepicker.dates = {
  en: {
   ...
  },
  ms: {
   days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"],
   daysShort: ["Ahd", "Isn", "Sel", "Rbu", "Kha", "Jum", "Sab", "Ahd"],
   daysMin: ["Ahd", "Isn", "Sel", "Rbu", "Kha", "Jum", "Sab", "Ahd"],
   months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"],
   monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ogos", "Sep", "Okt", "Nov", "Dis"],
   today: "HARI INI",
   clear: "Clear"
  }
 };


Nota ini merujuk kepada datepicker versi di bawah.
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls

Decrypt base64 Data Di Linux

Wednesday, February 08, 2017

Bila guna bash script, dan perlu sorokkan password, boleh guna encrypt base64, kemudian decrypt balik

#!/bin/sh

username='my_username'
password='my_password'

username_encoded=$(echo -n "$username" | openssl enc -base64)
password_encoded=$(echo -n "$password" | openssl enc -base64)

username_decoded=$(echo "$username_encoded" | openssl enc -d -base64)
password_decoded=$(echo "$password_encoded" | openssl enc -d -base64)

echo "username: $username"
echo "username_encoded: $username_encoded"
echo "username_decoded: $username_decoded"
echo "password: $password"
echo "password_encoded: $password_encoded"
echo "password_decoded: $password_decoded"
Output:
username: my_username
username_encoded: bXlfdXNlcm5hbWU=
username_decoded: my_username
password: my_password
password_encoded: bXlfcGFzc3dvcmQ=
password_decoded: my_password
Bila encode, ada hantar newline. Bila decode, tak new line, tak payah guna -n pada echo.
Contoh bila nak guna. Setkan awal-awal, hasilnya, masukkan dalam script untuk di decode kan semula.
mygpis@mygpis-db:~$ echo -n "mysecpassword" | openssl enc -base64
TXlHUElTMTIz
mygpis@mygpis-db:~$ vi task.sh

#!/bin/bash

DBHOST='localhost'
DBUSRN='root'
#DBPASS='mysecpassword'#commentkan
DBNAME='mygpis'
DBPASS=$(echo "TXlHUElTMTIz" | openssl enc -d -base64)

PHP Dapatkan URL semasa

Thursday, February 02, 2017

Contoh URL: http://example.com/folder1/folder2/yourfile.php?var=blabla#12345

$_SERVER["DOCUMENT_ROOT"] === /home/user/public_html
$_SERVER["SERVER_ADDR"]   === 10.34.12.123
$_SERVER['HTTP_HOST']     === example.com (atau dengan WWW)
$_SERVER["REQUEST_URI"]   === /folder1/folder2/yourfile.php?var=blabla
__FILE__                  === /home/user/public_html/folder1/folder2/yourfile.php
basename(__FILE__)        === yourfile.php
__DIR__                   === /home/user/public_html/folder1/folder2 [sama juga: dirname(__FILE__)]
$_SERVER["QUERY_STRING"]  === var=blabla

$_SERVER["REQUEST_URI"]   === /folder1/folder2/yourfile.php?var=blabla
parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH)  === /folder1/folder2/yourfile.php 
$_SERVER["PHP_SELF"]      === /folder1/folder2/yourfile.php

//jika file "yourfile.php" tu include dalam "parentfile.php" , dan "parentfile.PHP?abc" dibuka:
$_SERVER["PHP_SELF"]       === /parentfile.php
$_SERVER["REQUEST_URI"]    === /parentfile.php?abc
$_SERVER["SCRIPT_FILENAME"]=== /home/user/public_html/parentfile.php
str_replace($_SERVER["DOCUMENT_ROOT"],'', str_replace('\\','/',__FILE__ ) )  === /folder1/folder2/yourfile.php

Jadi, nak dapatkan URL semasa secara penuh
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Jika rasanya URL kita terlibat dengan https, sebaiknya check sekali.
$actual_link = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";



PHP Excel Remove Row

Sunday, September 25, 2016

Remove row.

Contoh di bawah, jika nak remove row nombor 6 sebanyak 4 kali.


<?php
for($i=0; $i<4; $i++){
 $objPHPExcel->getActiveSheet()->removeRow(6);
}
?>

PHP Excel Karekter Enter

Masukkan key Enter ke dalam field Excel guna PHPExcel. Gunakan str_replace(). Replace coma kepada \n

<?php 
$objPHPExcel->getActiveSheet()->SetCellValue('O'.$bil, strtoupper(str_replace(',',"\n",c($row['kriteria']))));
setCenterOnEmpty($row['kriteria'], 'O'.$bil, $objPHPExcel);


if(!function_exists("setCenterOnEmpty")){
function setCenterOnEmpty($data, $index, $objPHPExcel){
 if($data==' - ' || $data=='-' || $data=='')$objPHPExcel->getActiveSheet()->getStyle($index)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}}
?>

Javascript Papar Textarea Value Newline

Thursday, July 07, 2016

var addrs = $("#alamat").val();
var lines = addrs.split(/\n/);
var texts = []
for (var i=0; i < lines.length; i++) {
  if (/\S/.test(lines[i])) {
    texts.push($.trim(lines[i])+'<br>');
  }
}

alert(JSON.stringify(texts));

$("#dispAlamat").html(texts);