วันเสาร์ที่ 27 กรกฎาคม พ.ศ. 2556

PHP read excel file and import to database[แบบง่าย ใช้งานได้จริง]

<?
#ส่วนนี้เป็นการทำงานเกี่ยวกับการอัพโหลดไฟล์ excel
#ใครไม่เข้าใจส่วนนี้ให้ ศึกษาเรื่องการทำงานกับระบบไฟล์ ก่อนนะ
$ImportName = "ImportXLS.xls";
$fileXLS=$_FILES["fileXLS"]["tmp_name"];
copy($fileXLS , $ImportName);
#-------------------------------------------------------------------------

#*** Get Document Path ***
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); # ไฟล์ excel ที่อัพโหลดไว้ 
$OpenFile = $ImportName;

#*** Create Exce.Application ***
$xlApp = new COM("Excel.Application");
$xlBook = $xlApp->Workbooks->Open($strPath."/".$OpenFile);
$xlSheet1 = $xlBook->Worksheets(1);    

#Query to db กำหนด 5000 rows
#อย่าลืมกำหนดส่วนการ connect db ไว้ด้วยนะ เดี๋ยวจะ query ไม่ได้
for($i=1;$i<=5000;$i++){
$sql = "insert into customer (CusID , CusName , CusAddress , CusTel , CusFax , CusBank , CusBranch , CusAccNumber) values (" ;
$sql .= '\'' . $xlSheet1->Cells->Item($i,1) . '\'' . ',' . '\''. $xlSheet1->Cells->Item($i,2) .'\'' . ',' . '\'' . $xlSheet1->Cells->Item($i,3) .'\'' . ',' . '\'' . $xlSheet1->Cells->Item($i,4) .'\'' . ',' . 
'\'' . $xlSheet1->Cells->Item($i,5) . '\'' . ',' . '\'' . $xlSheet1->Cells->Item($i,6). '\'' . ',' . '\'' . $xlSheet1->Cells->Item($i,7) . '\'' . ',' . '\'' . $xlSheet1->Cells->Item($i,8) .'\'' . ')';
}

#*** Close & Quit ***
$xlApp->Application->Quit();
$xlApp = null;
$xlBook = null;
$xlSheet1 = null;

unlink($strPath."\\".$OpenFile); #ลบไฟล์ excel ครับ [ใช้แล้วทิ้ง 555+]
?>

ลองไปประยุกต์ดูนะจ๊ะ

วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

Test adobe dreamweaver cs6

อาจารย์สอนผมเขียนเว็บตั้งแต่รุ่น ที่ใช้ notepad > editplus > dreamweaver  ตั้งแต่ยังเป็น macromedia ตอนนี้ adobe takeover ไปละ ผมเองก็ติดการใช้งาน macromedia  dreamweaver มาจนถึงปัจจุบัน บังเอิญวันนี้ได้ไปอบรมที่กรมส่งเสริมการเกษตร เขาพัฒนา web app ได้น่าสนใจเลยกลับมาลองใช้ adobe dreamweaver cs 2-3 ชั่วโมง ปรากฏว่าติดใจครับ โดยเฉพาะลูกเล่นใหม่ Spry Menu / 

Spry Tabbed Panel เลยอยากเอามาบอกต่อ มันดีมากจริงๆ


สิ่งที่แตกต่างของ Dreamweaver 8 ถึง Dreamweaver CS3  >> http://wikisolutions.info/article/th/what-are-the-differences-of-dreamweaver-8-to-dreamweaver-cs3/

คู่มือโปรแกรม >> http://www.kruhot.net/AllData/-DreamCS3.PDF
ศึกษาเพิ่มเติม >> http://www.hellomyweb.com/index.php/main/content/113
                   >> http://www.dwthai.com/dreamweaver/
Work!!!

วันพฤหัสบดีที่ 25 กรกฎาคม พ.ศ. 2556

Facebook Lightbox [ทำ pop-up แบบ Facebook]

ที่มาของบทความ -> http://www.bigquery.com/bq79.htm
Demo ของบทความ -> http://www.bigquery.com/demo/mootools/darkwing-LightFace/
Demo ที่ผมปรับแต่ง -> http://www.procard.co.th/index2.php

สิ่งที่ผมแก้ :: แก้ใข event จาก onClick เป็น onLoad โดยนำ script ด้านล่างนี้ ไปไว้ภายใน <head>  </head> จากนั้นเราก็เรียกใช้ใน tag body ดูตัวอย่างด้านล่างเลย...

<html>
</head> 
<script type="text/javascript" src="LightFace/mootools-core-1.4.5-full-nocompat.js"></script> 
<script type="text/javascript" src="LightFace/Source/LightFace.js"></script>
<script type="text/javascript" src="stmenu.js"></script>
<script language="javascript">
function LightFacePopup(){
var modal = new LightFace({
height: 415,
width: 620,
title: 'Information from us.',
content: '<a href="index2.php"><img src="imgs/info_popup.jpg" style="float:left;margin:0 20px 20px 0px;" /></a>',
buttons: [
{ title: 'Close', event: function() { this.close(); }, color: 'green' }
]
});
 modal.open();
}
</script>
<head>
<body onLoad="javascript:LightFacePopup();">
.
.
.
.
</body>
</html>

หมายเหตุ :: ไฟล์ที่เรียกมาใช้งานร่วม หาโหลดเอาเองจากลิ้งบทความด้านบนนะจ๊ะ

ถึงบางอ้อ

ในอดีตเมื่อผมทำงานเป็นช่างซ่อมเครื่องพิมพ์ ณ บริษัทแห่ง ได้รู้จักโปรแกรมเมอร์ท่านหนึ่ง พี่แกชื่อประหยัด บุคลิคท่าทางแกประหยัดสมชื่อจริงๆ ครับ พูดน้้อย ท่าท่างมึนๆ ไม่สนใจใคร งงๆ เงียบๆ

วันนี้เมื่อตัวเองได้เริ่มก้าวเป็นนักพัฒนา  มาอยู่ในฐานะระดับเดียวกันในวิาชีพ ถึงได้รู้ว่าทำไมแกถึงเป็นแบบนั้น มึนทั้งวันจริงๆ ครับ -> โปรแกรมเมอร์ไม่ได้เป็นแบบนี้ทุกคนนะครับ แต่ผมคิดว่าเป็นส่วนใหญ่!!!

วันอาทิตย์ที่ 21 กรกฎาคม พ.ศ. 2556

PHP Class numtobahteng [แปลงตัวเลขเป็นอักษรสกุลเงินภาษาอังกฤษ]

class  numtobahteng{
#เอาของเว็บนอกมาแล้วปรับแต่ง by songsaluang

#การเรียกใช้
#echo $number = 120000023.45 . '<br>';
#$callclassthai = new numtobahteng();
#echo $callclassthai-> toeng($number); #One Hundred Twenty Million Twenty Three Baht and Forty Five Stang



  public function toeng($number){
$numberformat = number_format($number , 2);
$explode = explode('.' , $numberformat);
$baht = $explode[0];
$stang = $explode[1]; if($stang == '00'){
return $this->eng($baht).' Baht Only';
}else{
return $this->eng($baht).' Baht and '.$this->eng($stang).'Stang';
}
}
  var $word = '';
  var $decimal;
  var $decimal_text = '';

function numtobahteng(){                    
$this->aa = array(' ' , 'Hundred' , 'Thousand' , 'Million' , 'Billion' , 'Trillion' , 'Quadrillion');
$this->tens = array(' ' , ' ' , 'Twenty' , 'Thirty' , 'Forty' , 'Fifty' , 'Sixty' , 'Seventy' , 'Eighty' , 'Ninty');
$this->on = array('Ten' , 'Eleven' , 'Twelve' , 'Thirteen' , 'Fourteen' , 'Fifteen' , 'Sixteen' , 'Seventeen' , 'Eighteen' , 'Ninteen');
$this->ones = array(' ' , 'One' , 'Two' , 'Three' , 'Four' , 'Five' , 'Six' , 'Seven' , 'Eight' , 'Nine');
}

function eng($fig){
$this->fig = ereg_replace(',' , '' , $fig); #REMEOVE ANY , FROM THE NUMBER
  $this->spilt_decimals();                               #CHECK FOR THE DECIMAL PART

  $this->rr = explode(',' , number_format($this->fig));   #SEPARATE THE 3 DIGITS INTO ARRAY ELEMENTS
   $this->mx = count($this->rr);
  $this->fig = strtolower($this->fig);
  $this->compose();
  $this->handle_decimal();
  return $this->word.($this->decimal_text ? ' and ' . $this->decimal_text : '');
}

  function spilt_decimals(){
 $n = explode('.' , $this->fig);
 $this->fig = $n[0];
 $this->decimal = $n[1];
  }

function compose(){
$this->word = ''; #TO RESET THE VALUE FOR MULTIPLE INSTANCES
if($this->mx == 1 && $this->rr[0] == 0) $this->word = 'Zero';
else if($this->mx > 6) $this->word = 'Figure NOT available in words'; #OUT OF THE quadrillion range JUST IGNORE
else{
for($i=0; $i<$this->mx; $i++){
$k = $this->mx - $i;
$this->word .= $this->handle_3($this->rr[$i]) . ' ' . ($k > 1 ? ($this->rr[$i] == '000' ? '' : $this->aa[$k]) . ' ' : '');
}
}
  }

  function handle_3($num){   $num = $num[2].$num[1].$num[0];
if($num[1] == '1') $text = ($num[2] ? $this->ones[$num[2]].' Hundred ': ''). ($num[1] ? $this->on[$num[0]].' ' : ''); else $text = ($num[2] ? $this->ones[$num[2]].' Hundred ': ''). ($num[1] ? $this->tens[$num[1]].' ' : '').$this->ones[$num[0]]; return $text;
  }

  function handle_decimal(){
$this->decimal_text = '';
     for($i=0; $i< strlen($this->decimal); $i++){
if($this->decimal[$i] == 0) $this->decimal_text .= ' Zero ';
else $this->decimal_text .= ' '.$this->ones[$this->decimal[$i]];
     }
  } }

PHP Class numtobahtthai [แปลงตัวเลขเป็นอักษรสกุลเงินภาษาไทย]

class numtobahtthai{
#เอาของชาวบ้านเขามาจำที่มาไม่ไ้ด้แล้วมาปรับแต่งใหม่ แจกต่อ by songsaluang
#การเรียกใช้
#echo $number = 120000023.45 . '<br>';
#$callclassthai = new numtobahtthai();
#echo $callclassthai-> tothai($number); #หนึ่งร้อยยี่สิบล้านยี่สิบสามบาทสี่สิบห้าสตางค์

public function tothai($number){
$numberformat = number_format($number,2);
$explode = explode('.' , $numberformat);
$baht = $explode[0];
$stang = $explode[1];

if($stang == '00'){
return $this->thai($baht).'บาทถ้วน';
}else{
return $this->thai($baht).'บาท'.$this->thai($stang).'สตางค์';
}
}

public function thai($num){   
$num = str_replace(',','',$num);
    $num_decimal = explode('.',$num);
    $num = $num_decimal[0];
    $returnNumWord;   
    $lenNumber = strlen($num);   
    $lenNumber2 = $lenNumber - 1;   
    $kaGroup = array('' , 'สิบ' ,  'ร้อย' , 'พัน' , 'หมื่น' , 'แสน' , 'ล้าน' , 'สิบ' , 'ร้อย' , 'พัน' , 'หมื่น' , 'แสน' , 'ล้าน');   
    $kaDigit = array('' , 'หนึ่ง' , 'สอง' , 'สาม' , 'สี่' , 'ห้า' , 'หก' , 'เจ็ด' , 'แปด' , 'เก้า');   
    $kaDigitDecimal = array('ศูนย์' , 'หนึ่ง' , 'สอง' , 'สาม' , 'สี่' , 'ห้า' , 'หก' , 'เจ็ด' , 'แปด' , 'เก้า');   
    $ii = 0;   
for($i = $lenNumber2;$i >= 0;$i--){   
$kaNumWord[$i] = substr($num,$ii,1);   
$ii++;   
    }   
$ii = 0;   
for($i = $lenNumber2;$i >= 0;$i--){   
if(($kaNumWord[$i] == 2 && $i ==1) || ($kaNumWord[$i] == 2 && $i == 7)){   
            $kaDigit[$kaNumWord[$i]]='ยี่';   
        }else{   
            if($kaNumWord[$i] == 2){   
                $kaDigit[$kaNumWord[$i]] = 'สอง';        
            }   
            if(($kaNumWord[$i] == 1 && $i <= 2 && $i == 0) || ($kaNumWord[$i] == 1 && $lenNumber > 6 && $i == 6)){   
                if($kaNumWord[$i + 1] == 0){   
                    $kaDigit[$kaNumWord[$i]] = 'หนึ่ง';      
                }else{   
                    $kaDigit[$kaNumWord[$i]] = 'เอ็ด';       
                }   
            }else if(($kaNumWord[$i] == 1 && $i <= 2 && $i == 1) || ($kaNumWord[$i] == 1 && $lenNumber >6 && $i == 7)){   
                $kaDigit[$kaNumWord[$i]] = '';   
            }else{   
                if($kaNumWord[$i] == 1){   
$kaDigit[$kaNumWord[$i]] = 'หนึ่ง';   
                }   
            }   
        }   
        if($kaNumWord[$i] == 0){   
        if($i != 6){
$kaGroup[$i] = '';   
         }
        }   
        $kaNumWord[$i] = substr($num,$ii,1);   
        $ii++;   
        $returnNumWord.=$kaDigit[$kaNumWord[$i]].$kaGroup[$i];   
    } 
       return $returnNumWord;   
}
}

PHP Thai date function [ทำ function date ให้เป็นภาษาไทย]

function monththai($date,$type){
#create by songsaluang
$abbarrmonth = array( '01' => 'ม.ค.' ,  '02' => 'ก.พ.' ,  '03' => 'มี.ค.' , '04' => 'เม.ย.' ,  '05' => 'พ.ค.' ,  '06' => 'มิ.ย', '07' => 'ก.ค.' ,  '08' => 'ส.ค.' ,  '09' => 'ก.ย.' , '10' => 'ต.ค.' , '11' => 'พ.ย.' ,  '12' => 'ธ.ค.' );

$arrmonth = array( '01' => 'มกราคม' ,  '02' => 'กุมภาพันธ์' ,  '03' => 'มีนาคม' , '04' => 'เมษายน' ,  '05' => 'พฤษภาคม' ,  '06' => 'มิถุนายน', '07' => 'กรกฎาคม' ,  '08' => 'สิงหาคม' ,  '09' => 'กันยายน' , '10' => 'ตุลาคม' , '11' => 'พฤศจิกายน' ,  '12' => 'ธันวาคม' );


if ( !is_numeric( $date ) ){ 
return 'รูปแบบวันที่ต้องมีเฉพาะตัวเลขเท่านั้น';
exit();
}

if( $type == 1 ) { $arr = $arrmonth ; }else { $arr = $abbarrmonth; }

$month = substr( $date , 2 , 2 );
$lenyear = strlen( substr( $date , 4 ) );
if ( $lenyear ==2 ){ $year = substr( substr( $date , 4) + 543 ,1 ,2 ) ; }
if ( $lenyear ==4 ){ $year = substr( $date , 4) + 543 ; }
return substr( $date , 0 , 2 ).' '.$arr[$month].' '.$year;
}

#การเรียกใช้

echo monththai(date('dmy'),'1'); #23 กรกฎาคม 56
echo monththai(date('dmY'),'');   #23 ก.ค. 2556

PHP database class [ติดต่อ + Query MySQL]

class database{
#create by songsaluang
public function query($sql , $countarr){
$Host = 'localhost'; #Host name
$UserName = 'root'; #User name
$PassWord = '1234'; #Password
$DataBase = 'Test'; #Database
$CharSet = 'SET NAMES TIS620'; #Character set

mysql_connect($Host , $UserName , $PassWord , $Database) or die (mysql_error());
mysql_select_db($DataBase) or die (mysql_error());
mysql_query($CharSet);
$strcheck = explode(' ',trim($sql));
$strcheck = strtolower(trim($strcheck[0]));
if ($strcheck == 'select'){
$query = mysql_query($sql);

if($countarr == 1){

return $countarr = mysql_num_rows($query);
}
return $query;

}else{
mysql_query($sql ) or die (mysql_error()); 
}
mysql_close();
}
}

#การเรียกใช้

$sql = "select * from TestName";                 #sql
$new = new database();                               #new class
$numarr = $new ->query($sql , 1);               #จำนวน row กรณีใช้คำสั้ง sql :: select
$arrslt = $new ->query($sql , '');                   #query sql

#fetch array

for ( $i = 1 ; $i <= $numarr ; $i++ ){
$allarr = mysql_fetch_array($arrslt);
echo $allarr[$i].'<br>';
}