25 มิถุนายน 2553
การบันทึกเวลาใน Cakephp
created และ มีชนิดของฟิลเป็น datetime
ซึ่งในขณะเดียวกัน เวลาเราทำการแก้ไข เรคคอร์ด ก็จะบันทึกเวลาที่เราแก้ไขให้อัตโนมัติเช่นเดียวกัน ในฟิลที่มีชื่อว่า modified และมีชนิดของฟิลเป็น datetime
23 มิถุนายน 2553
ฟังชั่นคำนวณวัน PHP
function dateDiv($t1,$t2){ // ส่งวันที่ที่ต้องการในรูปแบบ 27-03-2006 21:20:00
$t1Arr=splitTime($t1);
$t2Arr=splitTime($t2);
$Time1=mktime($t1Arr["h"], $t1Arr["m"], $t1Arr["s"], $t1Arr["M"], $t1Arr["D"], $t1Arr["Y"]);
$Time2=mktime($t2Arr["h"], $t2Arr["m"], $t2Arr["s"], $t2Arr["M"], $t2Arr["D"], $t2Arr["Y"]);
$TimeDiv=abs($Time2-$Time1);
$Time["D"]=intval($TimeDiv/86400); // จำนวนวัน
$Time["H"]=intval(($TimeDiv%86400)/3600); // จำนวน ชั่วโมง
$Time["M"]=intval((($TimeDiv%86400)%3600)/60); // จำนวน นาที
$Time["S"]=intval(((($TimeDiv%86400)%3600)%60)); // จำนวน วินาที
return $Time;
}
function splitTime($time){ // เวลาในรูปแบบ 27-04-2006 22:30:50
$timeArr["Y"]= substr($time,8,2);
$timeArr["M"]= substr($time,3,2);
$timeArr["D"]= substr($time,0,2);
$timeArr["h"]= substr($time,11,2);
$timeArr["m"]= substr($time,14,2);
$timeArr["s"]= substr($time,17,2);
return $timeArr;
}
//------------------------------ ตัวอย่างการใช้งาน
$t1="27-03-2006 21:20:00";
$t2="27-04-2006 22:30:50";
$time=dateDiv($t1,$t2);
print_r($time);
Javascript ปิดหน้าต่างลูกแล้ว refresh หน้าต่างหลัก
วิธีการเข้าใช้งาน ก่อนอื่นทำการสร้างหน้า ที่ทำการเปิด หน้า Popup
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Open A New Window</title>
</head>
<body>
<a href="" onclick="window.open('test.php','welcome','width=300,height=200')">Open a new window</a>
</body>
</html>
ไฟล์ test.php
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Close Open A New Window</title>
</head>
<body>
<a href="#" onclick="javascript:window.parent.opener.document.location.href='http://www.google.co.th'; window.close();">Close</a>
</body>
</html>
ซึ่งในไฟล์ test.php นี้จะเป็นหน้าสำหรับหน้า Popup และจะมีปุ่ม Close เพื่อปิดหน้า ซึ่งเมื่อเรากดปุ่ม Close หน้าหลักจะเด้งไปที่ www.google.co.th ให้อัตโนมัติ
21 มิถุนายน 2553
submit form ให้ขึ้นเป็น popup และอยู่กลางจอ
function submitPopup (objForm,W,H,S) { // W = width, H = height, S = scrollbar var winleft = (screen.width - W) / 2; var winup = (screen.height - H) / 2; winProp = 'width='+W+',height='+H+',left='+winleft+',top='+winup+',scrollbars='+S+',resizable' + ',status=yes' objForm.target = "newPopup"; window.open('', "newPopup", winProp); objForm.submit(); }
วิธีใช้งาน
<a href="javascript:submitPopup(document.frmTest,300,400,'no');">Submit</a>
ข้อมูลจากเวป >> http://sixhead.com/
17 มิถุนายน 2553
ฟังชั่น php ลบแท็ก html
เช่น
<p>ทดลอง</p>
เมื่อเราใช้คำสั่ง strip_tags จะไม่ได้ค่า <p></p> จะได้เฉพาะคำว่า ทดลอง
15 มิถุนายน 2553
Jquery Refresh Div
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('#load_tweets').load('Untitled-2.php').fadeIn("slow");
}, 1000); // refresh every 10000 milliseconds
</script>
<div id="load_tweets"> </div>
ไฟล์ Untitled-2.php
<?php
echo "test page";
?>
เท่านี้ก็จะทำให้เรารีเฟรชหน้าได้เฉพาะบา่งส่วนแล้วครับ แต่อาจจะใช้งานไม่ได้สำหรับ I.E. เวอร์ชั่นเก่า ๆ ครับ
ดูข้อมูลเพิ่มเติมได้ที่ : http://www.9lessons.info/2009/07/auto-load-refresh-every-10-seconds-with.html
14 มิถุนายน 2553
การเรียงลำดับตัวอักษรในภาษาไทย
สมมุติมีข้อมูล ก ,เข, เก, ข ถ้าหากใช้คำสั่ง ORDER BY ธรรมดามันจะเรียง ก,ข,เก,เข
แต่ถ้าหาำกว่าเราอยากจะเรียงเป็น ก,เก,ข,เข แล้วละก็ ใช้คำสั่งต่อไปนี้ครับ
SELECT * FROM tb_test ORDER BY CONVERT (NAME USING tis620);
เพื่อแปลงเป็น tis620 ก่อนครับ
ข้อมูลจาก บอร์ด thaicreate PHP ครับ
11 มิถุนายน 2553
เปิดใช้งาน cakephp
1. โหลด cakephp มา ก่อนเลยครับ แล้วแตกไฟล์เอาไปไว้ที่ root ของเรา เ่ช่น C:\AppServ\www\cakephp
2. จากนั้นก็เข้าสู่ขั้นตอน config ไฟล์่ต่างๆ โดยเริ่มจากไปเปิดไฟล์ /app/config/database.php.default แล้วเปลี่ยนชื่อเป็น
/app/config/database.php ครับ
3. เปิดไฟล์ /app/config/database.php ขึ้นมาแล้วไปแก้ไขให้ถูกต้องครับ
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost', // ส่วนนี้ไม่ต้องเปลี่ยน
'login' => 'root', //ชื่อผู้ใช้ฐานข้อมูล
'password' => 'root', //รหัสผ่านฐานข้อมูล
'database' => 'ชื่อฐานข้อมูล',
'prefix' => '',
);
4. เปิด /app/config/core.php ขึ้นมา ไปที่บรรทัด 151 จะเห็น
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
ให้แก้ไขโดยเปลี่ยน DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi เป็นอักษรอื่นๆ ครับ เป็น key สำหรับเข้ารหัสครับ ตั้งตามใจชอบ
5. ยังอยู่ที่ไฟล์เดิมนะครับ ย้อนขึ้นไปที่ประมาณบรรทัดที่ 57 ให้เอาคอมเม้นต์ในบรรทัดนี้ออก จะได้เป็น
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
ส่วนนี้เอาไว้ในการใช้งาน mod_rewrite ถ้าที่ทำมาทั้ง 5 ข้อ ไม่ผิดพลาดอะไร พอเรา refresh browser ก็จะได้น่าตาแบบนี้ครับ
ุ6. สมมติว่าเราสร้าง Controller ขึ้นมาชื่อว่า MessagesController นะครับ และมี method ชื่อ index แล้วต้องการจะใช้งาน Controller นี้ เราต้องไปทำการกำหนด route ก่อน โดยไปที่ไฟล์ app/config/rountes.php แล้วเพิ่ม
Router::connect ('/', array('controller'=>'messages', 'action'=>'index'));
ลงไปครับ เพื่อบอกว่าให้เริ่มทำงานที่ controller ที่ชื่อว่า messages และ method ที่ชื่อว่า index
ข้อมูลจากเวป > http://www.nattapon.com/th/index.php/programmer/%E0%B9%80%E0%B8%9B%E0%B8%B4%E0%B8%94%E0%B9%83%E0%B8%8A%E0%B9%89-cakephp-1.2.html
ปรับแต่ง cakephp ให้อ่านไฟล์นามสกุล .php
หากจะเปลี่ยนให้ cakephp อ่านไฟล์นามสกุล .php ต้องไปที่
E:\AppServ\www\cakephp\cake\libs\controller\controller.php
ไปที่บรรทัด 240 แก้ไขจาก
var $ext = '.ctp';
ไปเป็น
var $ext = '.php';
เท่านี้มันก็จะอ่านไฟล์นามสกุล .php ได้เลย
กฏของ cakephp
กฏข้อที่ 2 : การตั้งชื่อฟิวด์ที่เป็นคีย์หลัก การตั้งชื่อฟิวด์ที่เป็นคียหลัก(PK) ของแต่ละตารางให้ตั้งชื่อฟิวด์นั้นว่า id เสมอ
กฏข้อที่ 3 : การตั้งชื่อฟิวด์ที่เป็นคีย์รอง การตั้งชื่อฟิวด์ที่เป็นคียรอง(FK) ของแต่ละตารางให้ตั้งชื่อฟิวด์โดยใช้ชื่อ ตารางที่เป็นคีย์หลัก_id แต่..ชื่อตารางที่เป็นคีย์หลักให้เปลี่ยน จากพหูพจน์เป็นเอกพจน์ด้วย เช่น user_id และ comment_id
กฏข้อที่ 4: การตั้งชื่อไฟล์ของ controller การตั้งชื่อไฟล์ของ controller นั้นจะใช้กฏเดียวกันกับการตั้งชื่อตาราง แต่ต่างกันตรงที่ชื่อไฟล์ของ controller จะต้องเป็นแบบนี้นั่นคือ ชื่อตาราง_controller.php เช่น users_controller.php เป็นต้น
กฏข้อที่ 5: การตั้งชื่อไฟล์ของ model การตั้งชื่อไฟล์ของ model นั้นจะใช้ชื่อของตาราง(แต่เป็นเอกพจน์) ในการตั้งชื่อไฟล์ เช่น user.php เป็นต้น
กฏข้อที่ 6: การตั้งชื่อโฟลเดอร์ของ views การตั้งชื่อโฟลเดอร์ของ views นั้นจะใช้ชื่อของตาราง(พหูพจน์) ในการตั้งชื่อโฟลเดอร์ เช่น users
จากเวป > http://cakephpthai.webfreedoms.com/?m=201005
9 มิถุนายน 2553
ฟั่งชั่น กำจัดการกรอกตัวอักษร
<script>
$(document).ready(function(){
$('#Wish').keyup(function(){
var max = parseInt($(this).attr('maxlength'));
if($(this).val().length > max){
$(this).val($(this).val().substr(0, $(this).attr('maxlength')));
}
$('#WishMax').html('เหลืออีก ' + (max - $(this).val().length) + ' ตัวอักษร');
});
});
</script>
วิธีใช้งาน ด้านล่างนี้เลย
<textarea name="Wish" id="Wish" maxlength="10"></textarea>
<div id="WishMax"></div>
4 มิถุนายน 2553
บวกค่าชนิด Text ที่มีลูกน้ำคั่น ในคำสั่ง SQL
SQL คือ SELECT (num1 + num2) as sumtotal FROM tbl_test
ผลลัพธ์ที่ได้มาคือ 21 ซึ่งมันจะมองเห็นตัวเลขข้างหน้าลูกน้ำ คือ 1 และ 20 มาบวกกันเท่านั้น
วิธีที่ผมใช้แก้ไข คือ
SELECT (REPLACE(num1,',','') + REPLACE(num2,',','')) as sumnew FROM tbl_test
- REPLACE(ค่าที่ต้องการแก้ไข,'ค่าที่ต้องการเปลี่ยน','ค่่าที่นำมาแทนที')
แล้วผลลัพธ์ที่ได้ คือ 21000
แต่ถ้าหาำกค่าที่อยู่ภายในฐานข้อมูลเรามีจุดทศนิยม เช่น 1,000.50 กับค่า 20,000.25
ผลลัพธ์ที่ได้ คือ 21.000.75
ซึ่งคำสั่งนี้จะเหมือนกับ str_replace ใน PHP ครับ