28 เมษายน 2554

Javascript เพิ่ม คอมม่า (,) ให้กับเลข ตามหน่วยต่าง ๆ

<form name="frmMain" action="" method="post">

<script type="text/javascript">

function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}

function chkNum(ele)
{
var num = parseFloat(ele.value.replace(/,/g,''));
ele.value = addCommas(num.toFixed(2));
}
</script>

-----------------------------------------------
วิธีนำไปใช้งาน

<input type="text" name="txtNumber" value="" OnChange="JavaScript:chkNum(this)">
</form>

ข้อมูลจาก : thaicreate.com

สิ่งที่ควรจำของ Cakephp

 ในการบันทึกค่าที่ส่งมาจาก Form ลงในฐานข้อมูล จะใช้คำสั่งที่เหมือนกันคือ

    $this->Book->create();  //เรียกใช้ Method create() เพื่อสร้างแถว
    $this->Book->save($this->data) // บันทึกข้อมูลที่ส่งมา คือ $this->data

ถ้าหากว่าในหน้า Form เราไม่มี Field ที่ชื่อว่า id  Cakephp จะมองเป็นการบันทึกข้อมูลลงไปใหม่ (INSERT)
แต่ถ้าหากว่ามี Field ที่ชื่อว่า id แล้ว  Cakephp จะมองเป็นการแก้ไข (UPDATE) ด้วย id ที่ส่งเข้ามานั้นโดยอัตโนมัติ

27 เมษายน 2554

ค้นหาจำนวนวัน ตามวัน และ ระยะเวลาที่กำหนด

 <?php
function date_in_period($format, $start, $end, $skip = NULL){
    $output = array();
    $days = floor((strtotime($end) - strtotime($start))/86400);
    for($i=0;$i<=$days;$i++){
        $in_period = strtotime("+" . $i . " day", strtotime($start));
        if(is_array($skip) and in_array(date("D",$in_period), $skip)){
            continue;
        }
        array_push($output, date($format, $in_period));
    }
    return $output;
}
echo "No skipping : <br / >";
$date = date_in_period("D-d-m-Y", "2011-04-04", "2011-04-19");
foreach($date as $day){
    echo $day . "<br / >";
}
echo "Total : " . count($date) . " days<br / >";

echo "<br / ><br / >Has skipping : <br / >";
$date = date_in_period("D-d-m-Y", "2011-04-04", "2011-04-19", array("Mon", "Tue", "Wed", "Thu", "Fri"));
foreach($date as $day){
    echo $day . "<br / >";
}
echo "Total : " . count($date) . " days";
?>

ข้อมูลจากเว็บ thaicrate.com

ค้นหา วันเสาร์ - อาทิตย์ ภายในระยะเวลาที่ต้องการ

 <?php
$start = strtotime("2011-04-04 08:00:00"); // your start here
$end = strtotime("2011-04-29 08:50:00"); // +end dates here

$saturday = strtotime("saturday", $start);

while($saturday < $end) {
      
    echo "Saturday = ", date("d m Y", $saturday), "\n";
    echo '<br>';
  
    $sunday = strtotime("+1 days", $saturday);
      
        if($sunday < $end ){   //+ check if sunday more than $end
            echo "Sunday = ", date("d m Y", $sunday), "\n";
            echo '<br>'; 
        }
      
    $saturday = strtotime("+1 weeks", $saturday);
  
}
?>

21 เมษายน 2554

เลือก Checkbox ทั้งหมดในครั้งเดีียวด้วย Jquery

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.js"></script>
<script type="text/javascript">
    function checked_all( id, nameclass ){
       $("input[class^=" + nameclass + "]").attr('checked', $('#' + id).is(':checked'));
    }
</script>
</head>
<body>
<p>ALL
  <input type="checkbox" name="checked_all" id="checked_all" onClick="checked_all( this.id, 'check_me' )" />
</p>
<p>
  <input type="checkbox" name="checkbox" id="checkbox" class="check_me" />
  1
</p>
<p>
  <input type="checkbox" name="checkbox2" id="checkbox2" class="check_me" />
  2
</p>
<p>
  <input type="checkbox" name="checkbox3" id="checkbox3" class="check_me" />
  3
</p>
<p>
  <input type="checkbox" name="checkbox4" id="checkbox4" class="check_me" />
  4
</p>
</body>
</html>

20 เมษายน 2554

การส่งค่าไปหลาย ๆ ค่าพร้อมกันโดย Ajax ของ Jquery

ส่งค่าไปหลาย ๆ ค่าพร้อมกันโดย Ajax ของ Jquery โดยใช้  serialize เข้าช่วย
--------------------------------------------------------------------------------------------------------------

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
      
        $('#button').click(function(){  
                var txt=$('#form1').serialize();  // ใช้ serialize() รวมเอา ค่าทั้งหมดที่อยู่ใน form     
                $.ajax({
                  type: 'POST',
                  url: "test.php",
                  data: txt,
                  success: function(data){
                     $('#result').html( data );                  
                  }
                
                });              
        })
      
    });
</script>
</head>
<body>

<form id="form1" name="form1" method="post" action="">
ชื่อ :<input type="text" name="name" id="name" />
นามสกุล :<input type="text" name="lastname" id="lastname" />
ที่อยู่ :<input type="text" name="address" id="address" />
<input type="button" name="button" id="button" value="Button"/>
</form>
<br />
<span id="result"></span>

</body>
</html>

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

 ไฟล์ test.php
<?php
    echo 'ชื่อ : '.$_POST['name'].' นามสกุล : '.$_POST['lastname'];
    echo '<br>';
    echo 'ที่อยู่ : '.$_POST['address'];
?>

การส่งค่าโดย Ajax ของ Jquery

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

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){

        $('#button').click(function(){          
                $.ajax({
                  type: 'POST',
                  url: "test.php",
                  data: {name: $('#name').val()},
                  success: function(data){
                     $('#result').html( data );                  
                  }
                
                });              
        })
      
    });
</script>
</head>
<body>

<input type="text" name="name" id="name" />
<input type="submit" name="button" id="button" value="Submit"/>
<br />
<span id="result"></span>

</body>
</html>

 --------------------------------------------------------------------------------------------------------------
ไฟล์  test.php

<?php
    echo $_POST['name'];
?>

เรียงลำดับ ตัวเลข ในกรณีที่ไม่ได้เป็นชนิด int

    เมื่อเราทำการ เลือกข้อมูลจากฐานข้อมูลแล้ว ต้องการที่จะให้มันเรียงลำดับ เช่น
ในฐานข้อมูล ตารางคะแนน มีอยู่หนึ่ง ฟิวล์  เป็นชนิด text  มีคะแนน  1 2 3 4 10 11 21 ตามลำดับ

เมื่อเราเขียน SQL ก็จะได้ว่า
   SELECT *  FROM  tbl_test  ORDER BY score DESC 
มันจะเรียงลำดับให้เป็น  1 11 2 21 3 4 ถ้าหากต้องการจะให้มันเรียงลำดับเป็น 1 2 3 4 10 11 21
เปลี่ยน SQL ให้เป็นดังนี้ 
  SELECT * FORM tbl_test ORDER BY ABS(score) DESC

* คำสั่ง  ABS()  ใช้สำหรับหาค่าสัมบูรณ์