บทความวันนี้เรามาทำกันต่อจากเดิมนะครับ โดยครั้งก่อนเราสามารถเลื่อนเปลี่ยนเดือนได้โดยการคลิกที่ ลิงค์ด้านข้างเพื่อเปลี่ยนเดือนไปมา ในบทความนี้ครับ
โดยในบทความที่แล้วเราใช้ความสามาถของ Ajax ในการเลื่อนเปลี่ยนไปเดือนต่างๆ โดยที่ไม่มีการรีเฟรชหน้าจอ ทำให้ในการใช้งานจริงเราสามารถที่จะควบคุมการแสดงผลแบบต่อเนื่องได้ เราสามารถที่จะนำไปประยุกต์ต่อได้อีกมากมายเลยครับ เช่น ปฏิทินบันทึกและแสดงเหตุการณ์ต่างๆ ปฏิทินข่าว ปฏิทินนัดหมาย ฯลฯ แต่ว่าในบทความที่แล้วนั้นปฏิทินเรายังไม่สมบรูณ์เพราะว่าจะสังเกตได้ว่าหากเราต้องการเลื่อนเปลี่ยนไปดูในเดือนต่างๆใน พ.ศ.อื่นๆ จะลำบากมากเพราะเราต้องคลิกต่อๆไปเรื่อยๆ วันนี้เราจึงมีทางแก้ไขครับโดยการ ทำให้มันเลือกได้ ซะเลยทั้งเดือน ทั้ง พ.ศ. เป็นอย่างไรเรามาลองทำกันดูครับ
การทำงานในบทความนี้เรายังคงอิงจากไฟล์เดิมในบทความที่แล้วนะครับ แต่จะมีการปรับแก้ไขในบางส่วน ผมจะแสดงเฉพาะไฟล์ที่แก้ไขใหม่นะครับ คือไฟล์ calendar_4.php ผมจะบันทึกในชื่อ calendar_5.php ส่วนไฟล์ ajaxCalendar.php, ajax_framework.js, styles.css นั้นไม่มีการแก้ไขอะไรเลยนะครับใช้ของเดิมได้เลย เรามาลองทำกันเลยครับ คัดลอกโค้ดนี้ไปแล้วเดี๋ยวเรามาอธิบายกันต่อไป
Wednesday, September 5, 2012
Friday, August 31, 2012
PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 4)
บทความสุดท้ายแล้วนะครับในเรื่องการทำปฏิทิน โดยก่อนหน้านี้เราได้ทำปฏิทินที่สามารถเลื่อนเปลี่ยนเดือนได้มาแล้ว ในบทความเรื่อง
ซึ่งเราจะพบว่าหากเรานำไปใช้กับเนื้อหาภายในเว็บไซต์หนึ่งๆนั้นเมื่อเราคลิกเพื่อเลื่อนไปดูเดือนอื่นๆ เราจะพบว่าหน้าเว็บไซต์เราจะต้องถูก รีเฟรช ไปด้วยซึ่งมันอาจจะทำให้เราไม่สะดวกในทุกๆครั้งที่เลื่อนไปดูเดือนต่างๆ (ซึ่งหากเราจะคลิกไปดูเดือนต่างๆ มันก็ไม่สะดวกอยู่แล้ว เดี๋ยวบทความต่อไปเราจะมาเลือกดูเดือนต่างๆแบบง่ายๆกัน)
ดังนั้นวิธีที่ดีที่สุดคือการทำให้มันไม่ต้องรีเฟรชหน้าใหม่ในทุกๆครั้งที่เลื่อนไปเดือนต่างๆ แล้วเราจะทำอย่างไร วิธีนี้เราสามารถใช้ความสามารถของ Ajax มาใช้ได้ครับนั่นคือ การที่เราต้องทำหน้าที่แสดงปฏิทินขึ้นมาส่วนหนึ่ง และส่วนที่เป็นระบบการสร้างปฏิทินอีกส่วนหนึ่ง โดยการเรียกการทำงานผ่านรูปแบบของ Ajax โดยการใช้ JavaScript นั่นแหละครับ การทำงานแบบนี้เป็นส่วนหนึ่งของรูปแบบที่เรียกว่า XHTML นั่นเอง
ขั้นตอนที่เราต้องทำงานนี้ ผมขอแบ่งไฟล์เพื่อให้สะดวกในการจัดการใหม่เลยนะครับ โดยใช้ไฟล์เดิมจากบทความที่แล้วมานั่นแหละ แต่เรามาแยก ทำใหม่ให้ดูง่าย จัดการง่ายไปอีกขั้นแค่นั้นเอง
ไฟล์ที่ต้องใช้
1. ไฟล์ calendar_4.php สำหรับเป็นส่วนของการแสดงผลปฏิทิน
2. ไฟล์ ajaxCalendar.php สำหรับเป็นส่วนของ ระบบที่ใช้สร้างปฏิทิน
3. ไฟล์ styles.css เป็นส่วนของ CSS ใช้สำหรับกำหนดการแสดงผลในหน้าเว็บไซต์
4. ไฟล์ ajax_framework.js ใช้สำหรับเป็นเฟรมเวิร์คของ A่jax
เริ่มกันเลยนะครับ ก่อนอื่นก็ขอให้คัดลอกโค้ดจากไฟล์ต่างๆตามนี้ไปบันทึกไว้ให้ครบครันกันก่อน แล้วมาอธิบายกันหลังจากนี้ครับ (บันทึกไว้ที่เดียวกันนะครับ)
ไฟล์ calendar_4.php
<html> <head> <title>ปฏิทินเบื้องต้น</title> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="ajax_framework.js"></script> <script> function calendar(now){ var data= "now=" + now; var url = "ajaxCalendar.php"; ajaxLoad('get',url,data,'mk_calendar'); } </script> </head> <body> <span id=mk_calendar><script>calendar('');</script></span> <br /> <span id=sh_time>หน้านี้โหลดเมื่อ : <?echo(date('j F Y') . " @ " . date('G:i:s'));?></span> </body> </html>
Wednesday, August 29, 2012
PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 3)
สวัสดีครับวันนี้เรามาทำปฏิทินต่อจากบทความที่ผ่านมา ซึ่งบทความตอนที่แล้วนั้นเราได้ใส่สีสันให้กับปฏิทินเราด้วยเทคนิค CSS จนมีหน้าตาสวยงามไปแล้วนะครับ ดูได้จาบทความนี้นะครับ
สำหรับวันนี้เราก็จะมาทำการเพิ่มเติมรูปแบบปฏิทินของเราให้มีฟังก์ชั่นที่น่าใช้งานมากยิ่งขึ้นอีก นั่นคือการเพิ่มการเลื่อนแสดงปฏิทินไปเดือนที่ผ่านมา / เดือนก่อนหน้านะครับ
หลักการทำงานของเราก็ง่ายๆเพียงเราเพิ่มลิงค์ที่ใช้สำหรับการเลื่อนดูปฏิทินที่ส่วนหัวของตาราง แล้วก็เก็บค่า Timestamp ของเดือนนั้นๆไว้มาทำงานต่อในส่วนของการสร้างปฏิทินนะครับ เรามาลุยกันเลย
เริ่มต้นก็ขอให้คัดลอกโค้ดนี้ไปก่อนนะครับ แล้วเรามาอธิบายโค้ดคำสั่งต่างๆกัน
ไฟล์ calendar_3.php
ไฟล์ calendar_3.php
<html> <head> <title>ปฏิทินเบื้องต้น</title> <style> .sunday{color: white;background-color:red;} .saturday{color: white;background-color:#9900CC;} .default{color: black;background-color:white;} .today{color: blue;background-color:yellow;} </style> </head> <body> <? $now = strtotime("now"); if(isset($_GET['now']) && !empty($_GET['now'])){ $now = $_GET['now']; } $month = date('n',$now); $year = date('Y',$now); $first = strtotime("$year-$month-1"); $first_day = date('w',$first); $num_day = date('t',$now); $today = date("Y-n-j"); $TH_Day = array("อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."); $TH_Month = array(1 => "มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน", "กรกฏาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"); $TH_Year = $year+543; $class = "default"; $url_togo = $_SERVER['PHP_SELF'] . "?now="; $last_month = strtotime("-1 month $year-$month"); $next_month = strtotime("+1 month $year-$month"); $url_lastMonth = "<a href=\"" . $url_togo . $last_month . "\">«</a>"; $url_nextMonth = "<a href=\"" . $url_togo . $next_month . "\">»</a>"; echo("<table border=0 cellspacing=1 cellpadding=7 bgcolor=#FFCC99> <tr> <th>$url_lastMonth</th> <th colspan=5>พุทธศักราช $TH_Year<p>$TH_Month[$month]</th> <th>$url_nextMonth</th> </tr> <tr bgcolor=#FFFACD><th>" . implode("</th><th>",$TH_Day) . "</th></tr>"); $start = 1 - $first_day; $w = 1; for($d = $start; ;$d++){ $class = "default"; $date = "$year-$month-$d"; if($w == 1){ $class = "sunday"; echo("<tr align=center class=$class>"); }else if($w == 7){ $class = "saturday"; }else{ $class = "default"; } if($d < 1){ echo("<td class=$class> </td>"); }else if($d >= $num_day){ if($d == $num_day){ if($today == $date){ $class = "today"; } echo("<td align=center class=$class>$d</td>"); }else{ if($w == 7){ $class = "saturday"; }else{ $class = "default"; } echo("<td class=$class> </td>"); } if($w == 7){ echo("</tr>"); break; } }else{ if($today == $date){ $class = "today"; } echo("<td align=center class=$class>$d</td>"); } if($w == 7){ echo("</tr>"); $w = 1; }else{ $w++; } } ?> </table> </body> </html>
อธิบายการทำงาน
ผมได้นำไฟล์เดิมจาก calendar_2.php ในบทความตอนที่แล้วมาทำการแก้ไขเพิ่มเติมนะครับ โดยผมขออธิบายในส่วนที่เพิ่มเติมเข้ามานะครับ (ผมปรับปรุงการแสดงผลนิดหน่อย หาดูเองนะไม่ยาก อิอิ)
ขั้นแรกเวลาเราจะสร้างปฏิทินโดยสามารถเลื่อนไปเดือนก่อนหน้า และเดือนถัดไปได้นั้น เราจะต้องมีตัวแปรตัวหนึ่งมาเก็บค่า Timestamp ของเดือนนั้นๆได้
$now = strtotime("now"); if(isset($_GET['now']) && !empty($_GET['now'])){ $now = $_GET['now']; }
Saturday, August 25, 2012
ความรู้ทั่วไป : เรื่องของสถานีบริการน้ำมัน (ตอนที่ 1 : เด็กปั๊ม ป.ตรี ขอบ่น)
เมื่อช่วงบ่ายวันนี้ (วันที่ 25 สิงหาคม 2555) ผมถึงกับตกใจกับคอลัมน์หนึ่งของเว็บไซต์หนังสือพิมพ์ไทยรัฐ เว็บไซต์นี้ครับ
http://www.thairath.co.th/content/life/286043
เป็นการกล่าวถึงการแนะนำผู้บริโภคที่จะต้องเติมน้ำมัน ซึ่งข้อมูลทั้งหมดผมเองคิดว่ายังไม่ถูกต้องที่สุด จึงอยากจะแนะนำอธิบายเพิ่มเติมจากประสบการณ์อันน้อยนิด และจากความรู้ทางวิทยาศาสตร์ที่มันติดสมองหลงเหลือจากชั้นมัธยมปลายอยู่หน่อยๆ ต้องบอกก่อนนะครับว่าผมไม่ได้เข้าข้างผู้ค้าน้ำมันที่เป็นสถานีบริการ เพราะผมเป็นเด็กปั๊มหรอกนะครับ แต่ผมเข้าข้างวิทยาศาสตร์และกระบวนการต่างๆ ที่สามารถอธิบายกรณีตัวอย่างนี้ได้เป็นอย่างดี เดี๋ยวคนจะเข้าใจผิดไม่มาเติมน้ำมัน หันมาเดินเท้าแทนละแย่เลย อิอิ
ผมขออนุญาตนำภาพที่ผมได้จากการ PrintScreen หน้าเว็บไซต์มาอ้างอิงด้วยนะครับ
ผมตลกกับข้อแรกก่อนเลย ส่วนใหญ่สถานีบริการจะปรับราคาน้ำมันขึ้้นหรือลง ได้นั้นต้องมีการแจ้งจากทางหน่วยงานที่เกี่ยวข้องเช่น บริษัทค้าน้ำมันยี่ห้อต่างๆ หรือรัฐบาลที่ประกาศชดเชยราคาน้ำมัน โดยที่จะต้องมีเวลาแจ้งกำกับมาด้วยทุกครั้ง อาจจะเป็นหลังเที่ยงคืน ประกาศทันที โดยส่วนใหญ่จะมีผลหลังเที่ยงคืนของวันที่ประกาศ เพราะจะทำให้มีผลบังคับใช้ในวันถัดไป แต่สาเหตุที่มีการปรับกันช่วงตี 5 เพราะเป็นช่วงที่สถานีบริการเปิดทำการ ใครจะตื่นมาปรับราคาน้ำมันช่วง "เที่ยงคืน"
แต่ที่ผมตลกไปมากกว่านั้น คือเหตุผลที่ต้องเติมน้ำมันช่วงเช้าเพราะเชื่อว่าจะได้ปริมาณน้ำมันที่มากกว่า ห๊า.... อธิบายเป็นวิทยาศาสตร์ง่ายๆนะครับ สสารใดๆที่ได้รับพลังงานจนอุณหภูมิสูงขึ้นมันจะขยายตัว ถูกต้องที่เมื่ออุณหภูมิโดยรอบค่อนข้างต่ำ น้ำมันจะอยู่ในลักษณะที่ไม่พองตัว แต่อย่าลืมนะครับว่าน้ำมันไม่ได้ออกจากถังแล้วออกสู่หัวจ่ายเลยโดยตรง มันผ่านการตวงลิตรมาก่อนที่เรียกว่า Flow Meter ที่อยู่ในตู้หัวจ่ายทุกตู้ โดยเป็นลักษณะพู 4 พูทำหน้าที่ในการตรวจสอบน้ำมันในแต่ละครั้งที่เติมว่า ผู้บริโภคจะได้น้ำมันเต็มลิตรในลักษณะที่ยอมรับได้ ลักษณะที่ยอมรับได้คืออะไร คือลักษณะที่น้ำมันที่เราได้รับอยู่ในช่วง +,- ของปริมาณที่ทางหน่วยงานที่เกี่ยวข้องกำหนด โดยการวัดแบบนี้ที่เรียกว่า การตวงลิตร จะมีหน่วยงานราชการที่เกี่ยวข้องมากำกับดูแลโดยเฉพาะคือ สำนักชั่งตวงวัดในแต่ละเขตุพื้นที่ที่รับผิดชอบ จะมาทำการตรวจสอบทุกปี เพื่อให้มีมาตรฐานที่สุดจึงต้องมีการทดสอบโดยการใช้อุปกรณ์ชั่งตวงวัดน้ำมันเชื้อเพลิง ดังภาพ
http://www.thairath.co.th/content/life/286043
เป็นการกล่าวถึงการแนะนำผู้บริโภคที่จะต้องเติมน้ำมัน ซึ่งข้อมูลทั้งหมดผมเองคิดว่ายังไม่ถูกต้องที่สุด จึงอยากจะแนะนำอธิบายเพิ่มเติมจากประสบการณ์อันน้อยนิด และจากความรู้ทางวิทยาศาสตร์ที่มันติดสมองหลงเหลือจากชั้นมัธยมปลายอยู่หน่อยๆ ต้องบอกก่อนนะครับว่าผมไม่ได้เข้าข้างผู้ค้าน้ำมันที่เป็นสถานีบริการ เพราะผมเป็นเด็กปั๊มหรอกนะครับ แต่ผมเข้าข้างวิทยาศาสตร์และกระบวนการต่างๆ ที่สามารถอธิบายกรณีตัวอย่างนี้ได้เป็นอย่างดี เดี๋ยวคนจะเข้าใจผิดไม่มาเติมน้ำมัน หันมาเดินเท้าแทนละแย่เลย อิอิ
ผมขออนุญาตนำภาพที่ผมได้จากการ PrintScreen หน้าเว็บไซต์มาอ้างอิงด้วยนะครับ
1.
ผมตลกกับข้อแรกก่อนเลย ส่วนใหญ่สถานีบริการจะปรับราคาน้ำมันขึ้้นหรือลง ได้นั้นต้องมีการแจ้งจากทางหน่วยงานที่เกี่ยวข้องเช่น บริษัทค้าน้ำมันยี่ห้อต่างๆ หรือรัฐบาลที่ประกาศชดเชยราคาน้ำมัน โดยที่จะต้องมีเวลาแจ้งกำกับมาด้วยทุกครั้ง อาจจะเป็นหลังเที่ยงคืน ประกาศทันที โดยส่วนใหญ่จะมีผลหลังเที่ยงคืนของวันที่ประกาศ เพราะจะทำให้มีผลบังคับใช้ในวันถัดไป แต่สาเหตุที่มีการปรับกันช่วงตี 5 เพราะเป็นช่วงที่สถานีบริการเปิดทำการ ใครจะตื่นมาปรับราคาน้ำมันช่วง "เที่ยงคืน"
แต่ที่ผมตลกไปมากกว่านั้น คือเหตุผลที่ต้องเติมน้ำมันช่วงเช้าเพราะเชื่อว่าจะได้ปริมาณน้ำมันที่มากกว่า ห๊า.... อธิบายเป็นวิทยาศาสตร์ง่ายๆนะครับ สสารใดๆที่ได้รับพลังงานจนอุณหภูมิสูงขึ้นมันจะขยายตัว ถูกต้องที่เมื่ออุณหภูมิโดยรอบค่อนข้างต่ำ น้ำมันจะอยู่ในลักษณะที่ไม่พองตัว แต่อย่าลืมนะครับว่าน้ำมันไม่ได้ออกจากถังแล้วออกสู่หัวจ่ายเลยโดยตรง มันผ่านการตวงลิตรมาก่อนที่เรียกว่า Flow Meter ที่อยู่ในตู้หัวจ่ายทุกตู้ โดยเป็นลักษณะพู 4 พูทำหน้าที่ในการตรวจสอบน้ำมันในแต่ละครั้งที่เติมว่า ผู้บริโภคจะได้น้ำมันเต็มลิตรในลักษณะที่ยอมรับได้ ลักษณะที่ยอมรับได้คืออะไร คือลักษณะที่น้ำมันที่เราได้รับอยู่ในช่วง +,- ของปริมาณที่ทางหน่วยงานที่เกี่ยวข้องกำหนด โดยการวัดแบบนี้ที่เรียกว่า การตวงลิตร จะมีหน่วยงานราชการที่เกี่ยวข้องมากำกับดูแลโดยเฉพาะคือ สำนักชั่งตวงวัดในแต่ละเขตุพื้นที่ที่รับผิดชอบ จะมาทำการตรวจสอบทุกปี เพื่อให้มีมาตรฐานที่สุดจึงต้องมีการทดสอบโดยการใช้อุปกรณ์ชั่งตวงวัดน้ำมันเชื้อเพลิง ดังภาพ
Friday, August 24, 2012
Python : Replace ข้อมูลในไฟล์แบบตามสั่ง
เจ้างูน้อยน่ารักในชื่อ Python นี้หลายคนคงสงสัยนะครับว่ามันเป็นโปรแกรมภาษาแบบไหน มันดีอย่างไร มันคืออะไร เอาเป็นว่าไปศึกษาที่นี่เลย Python.org ไม่ขอบอกในที่นี้ แต่บอกใบ้ให้นิดๆว่า Google ที่เราใช้กันประจำๆ ก็เกิดมาจาก Python นี่หล่ะครับ
สำหรับบทความนี้ผมสมมติเหตุการณ์ว่าผมมีไฟล์ข้อมูลไฟล์หนึ่ง เป็นไฟล์ประเภทหนึ่ง อยากที่จะเปลี่ยนข้อมูลในไฟล์นั้น ซึ่งข้อมูลที่จะต้องเปลี่ยนนั้นมีหลายรายการมากเลยทีเดียว หากผมต้องเปลี่ยนแปลงข้อมูลดังกล่าวผมมีตัวเลือกดังนี้
1. ใช้วิธีแบบทั่วไปคือ เปิดไฟล์ข้อมูลนั้นแล้วก็นั่งหาตำแหน่งข้อมูลชุดนั้นแล้วก็แก้มันซะ
ข้อดี : ไม่มี
ข้อเสีย : วิธีนี้ต้องใช้เวลานานมากและอาจแก้ไขไม่ครบสมบรูณ์เพราะเราอาจเผลอมองข้ามตำแหน่งใดๆไป หรือ พิมพ์ผิดก็เป็นได้ และบางครั้งไฟล์ข้อมูลที่เราต้องการเปลี่ยนแปลงนั้นอาจเปิดด้วยวิธีปกติไม่ได้
2. ใช้วิธีแปลงข้อมูลเป็นไบนารี่แล้วถอดมาแก้ไข โอ้ววววววว...เมพ
ข้อดึ : ตามฉบับไบนารี่ข้อมูลที่ถูกถอดออกมาจะกระจางแจ้งแดงแจ๋ จะดูส่วนไหน แก้ไขส่วนไหนละเอาเลย ไม่ว่าไฟล์ประเภทไหนอย่างไร รู้หมด
ข้อเสีย : ยุ่งยากแน่ๆหากข้อมูลที่เราต้องการเปลี่ยนแปลงมันซับซ้อนเราต้องมานั่งหาอินเด็กไฟล์ หาตำแหน่งที่ถูกต้อง อีกยังต้องมานั่งเทียบ Hash ไฟล์อีก ไม่นะ..
3. ใช้คำสั่งในโปรแกรมภาษาต่างๆแก้ไข
ข้อดี : แน่นอนเมื่อเป็นชุดคำสั่งในโปรแกรม เราสามารถที่จะควบคุมมันได้ ให้ทำตามสั่งได้ ไร้ปัญหาแน่นอน แม้แต่ข้อมูลเข้ารหัสยังยากที่จะต่อกร(หากเรารู้ถึงคีย์ของมัน อิอิ)
ข้อเสีย : ตามธรรมดาของภาษาโปรแกรมที่จะต้องพูดถึงเรื่องประสิทธิภาพการทำงาน และการใช้งาน เช่น ภาษานู้นทำไวกว่า ภาษานี้เขียนง่ายกว่า ภาษานั้นสั้นกว่า
ผมเลือก ตัวเลือกที่ 3 เป็นคำตอบสุดท้ายครับ ทำไมหล่ะ ก็ข้อข้างบนอธิบายไว้หมด มันคงยังไม่ต้องถึงกับใช้ไบนารี่หรอกมั้ง ฮ่าๆๆๆ แล้วผมจะเลือกใช้ภาษาโปรแกรมใดหล่ะ ... ในที่นี้ผมตอบแบบไม่ต้องคิดว่า ใช้ Python สิจอร์จ เพราะใช้แล้วเครื่องฟิต สตาร์ทติดง่าย!! .. ไม่ใช่ เพราะว่ามันทำงานได้เนียนที่สุดในบรรดาภาษาทั้งหลายแหล่ที่ผมพอจะสัมผัสมา เนียน... ไม่ใช่ดีที่สุด แต่ มันเข้าใจง่าย ทำง่าย คนไม่รู้ภาษาทางโปรแกรมก็ทำได้ หากเข้าใจในจิตวิญญาณของมัน สำหรับผม Python เป็นสิ่งที่ท้าทายที่สุดในชีวิต ที่เมื่อคุณลองแล้วจะติดเหมือนยาเสพย์ติดกันเลยทีเดียว ผมรู้จักมันมา สิบกว่าปี(ตั้งแต่ พ.ศ.2539) จนถึงทุกวันนี้ผมยังไม่รู้จักมันทั้งหมดเลย ฮ่าๆๆๆ ฟังผมโม้มาซะนานเรามาเริ่มลองทำกันดูเลยนะครับ
Wednesday, August 22, 2012
PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 2)
ในบทความนี่เรามาปรับปรุงปฏิทินต่อจากบทความที่แล้วกันนะครับ ซึ่งการปรับแต่ปฏิทินในครั้งนี้เราจะใช้ เทคนิคการจัดรูปแบบเอกสารตามมาตรฐานของ WWW แบบใหม่นั่นก็คือ CSS หรือเรียกชื่อเต็มๆว่า Cascading Style Sheets โดยในส่วนของรายละเอียดในการจัดรูปแบบต่างๆนั้นขอแนะนำให้ไปศึกษาเพิ่มเติมเองนะครับ
ทำไมถึงต้องเป็น CSS นั่นก็เพราะรูปแบบ CSS นั้นถูกนำมาใช้เพื่อเสริมการทำงานของ HTML ให้มีประสิทธิภาพมากยิ่งขึ้น โดยเน้นไปที่การจัดรูปแบบและโครงร่างของเอกสารเป็นหลัก ทำให้เราสามารถที่จะกำหนดรูปแบบเอกสารให้หลากหลายมากยิ่งขึ้น แก้ไขง่าย จัดการง่าย ควบคุมง่าย ตามสไตล์ของ CSS นั่นเอง
สำหรับการจัดรูปแบบปฏิทินในวันนี้เราจะมาตกแต่งใส่สีสันลงไปเพื่อเพิ่มความสวยงาม โดยมีส่วนที่ต้องตกแต่งอยู่ 5 ส่วนด้วยกัน คือ
ทำไมถึงต้องเป็น CSS นั่นก็เพราะรูปแบบ CSS นั้นถูกนำมาใช้เพื่อเสริมการทำงานของ HTML ให้มีประสิทธิภาพมากยิ่งขึ้น โดยเน้นไปที่การจัดรูปแบบและโครงร่างของเอกสารเป็นหลัก ทำให้เราสามารถที่จะกำหนดรูปแบบเอกสารให้หลากหลายมากยิ่งขึ้น แก้ไขง่าย จัดการง่าย ควบคุมง่าย ตามสไตล์ของ CSS นั่นเอง
สำหรับการจัดรูปแบบปฏิทินในวันนี้เราจะมาตกแต่งใส่สีสันลงไปเพื่อเพิ่มความสวยงาม โดยมีส่วนที่ต้องตกแต่งอยู่ 5 ส่วนด้วยกัน คือ
- ส่วนหัวปฏิทิน
- ส่วนหัวสัปดาห์
- ส่วนที่แสดงเป็นวันอาทิตย์
- ส่วนที่แสดงเป็นวันเสาร์
- ส่วนแสดงวันที่ปัจจุบัน
เนื่องจากเราต้องจัดการกำหนดรูปแบบที่หลากหลายเช่นนี้ CSS จึงเหมาะกับการทำงานดังกล่าว เรามาลองเริ่มจัดรูปแบบปฏิทินกันเลยครับ
Sunday, August 19, 2012
Ubuntu : ฟอร์แมตพาร์ติชั่นด้วย Disk Utility
ปัจจุบันเรามีการเก็บข้อมูลบนคอมพิวเตอร์ด้วยวิธีต่างๆมากมายทั้งการบันทึกลงฮาร์ดดิส ใส่แผ่นซีดี/ดีวีดี ใส่แฟลชไดร์ฟ หรือบันทึกใส่สื่อบันทึกดิจิตอลต่างๆ หลายท่านที่บันทึกลงฮาร์ดดิสแบบพกพาหรือที่เรียกกันว่า Portable Harddisk (Hard Drive) คงจะมีการแบ่งพื้นที่ฮาร์ดดิสออกเป็นหลายๆส่วนที่เรียกว่า พาร์ติชั่น(Partition) บางครั้งอาจจะอยากปรับปรุงเปลี่ยนแปลงพาร์ติชั่นดังกล่าว ในบทความนี้ผมจะนำเสนอเฉพาะการ ฟอร์แมตพาร์ติชั่น บนระบบปฏิบัติการ Ubuntu โดยใช้เครื่องมือพื้นฐานอย่าง Disk Utility ที่มีมาให้อยู่แล้ว
ขั้นแรกก็ให้เรานำเจ้าฮาร์ดดิสแบบพกพาของเราต่อเข้ากับคอมพิวเตอร์เราซะก่อนเราจะเห็นว่ามันมีพาร์ติชั่นมากมายถูกเมาท์ขึ้นมาที่แถบด้านข้าง (Side Panel) จากนั้นก็ให้คุณเข้าเมนูพิมพ์ว่า disk ดังภาพก็พอจะมีโปรแกรมมาให้เลือก ให้เราเลือก Disk Utility ดังภาพ
Saturday, August 18, 2012
PHP : มาสร้างปฏิทินกันเถอะ (ตอนที่ 1)
หลายคนคงเคยเห็นปฏิทินที่แสดงบนหน้าเว็บไซต์ต่างๆมาแล้ว อาจเกิดความสงสัยกันนะครับว่าปฏิทินที่เราเห็นกันนั้นมันทำได้อย่างไรกันนะ ผมก็อดสงสัยไม่ได้เช่นกันก็เลยนำความสงสัยนั้นมาลองทำเล่นๆดูจนได้เป็นบทความนี้นั่นเอง ฮ่าๆๆ สำหรับบทความนี้จะมีเนื้อหาต่อจากบทความที่แล้วนะครับ ในเนื้อหาเรื่อง
ซึ่งลองเข้าไปอ่านดูกันก่อนนะครับจะได้มีพื้นฐานเบื้องต้นก่อน
เริ่มกันเลยนะครับ
ซึ่งลองเข้าไปอ่านดูกันก่อนนะครับจะได้มีพื้นฐานเบื้องต้นก่อน
เริ่มกันเลยนะครับ
Monday, August 13, 2012
Ubuntu : แก้ไข Grub2 Boot Menu
หลายท่านคงประสบกับปัญหาการจัดการการ Boot ที่เรียกว่า Grub ของระบบปฏิบัติการ Ubuntu อยู่ไม่น้อย เช่น มีระบบปฏิบัติการหลายตัวในเครื่องเดียวกัน อยากให้ระบบปฏิบัติการ B เป็นระบบปฏิบัติการแรก ฯ เป็นต้น สำหรับการแก้ไขปัญหาดังกล่าว เราจำเป็นที่จะต้องเข้าไปยุ่งวุ่นวายกับระบบอีกทั้งยังจัดการยากเพราะต้องเข้าไปทำงานผ่าน Command Line บน Terminal อีก ซึ่งไฟล์ที่เราจะแก้ไขนั้นหากเราทำผิด มีหวังเครื่องบูตไม่ขึ้นเปิดทำงานไม่ได้แน่
ดังนั้นการที่เราต้องเข้าไปแก้ไขระบบด้วยวิธีการแบบนี้จึงเป็นความเสี่ยงสำหรับมือใหม่เป็นอย่างยิ่ง วันนี้ผมจึงมีวิธีดีๆนำมาฝากท่านทั้งหลายกัน ซึ่งเป็นวิธีที่ใช้งานง่ายมาก เริ่มต้นก็ให้เปิดโปรแกม Terminal มาก่อนครับ จากนั้นพิมพ์ข้อความตามดังนี้ (รอให้แต่ละขั้นตอนทำงานเสร็จก่อนค่อยพิมพ์บรรทัดถัดไปนะ)
sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer
Sunday, August 12, 2012
Android : Application เติมเงินออนไลน์
หน่วยเติมเงินออนไลน์ของ 1-2-call ทั้งหลาย คุณเคยเกิดอาการแบบนี้หรือปล่าว ต้องเติมเงินในขณะที่กำลังวุ่นวาย ต้องกดตัวเลขเยอะแยะมากมาย เบื่อไหมที่ต้องคอยกด
*123*CODE*หมายเลขโทรศัพท์*จำนวนเงิน#
สามารถทดสอบแอพพลิเคชั่นดังกล่าวได้ที่นี่ครับ https://play.google.com/store/apps/details?id=com.mondaro.easytopup
ในแอพพลิเคชั่นนี้สามารถเติมได้ทั้งระบบ 1-2-Call , DTAC และ Truemove-H นะครับ
บทความนี้ต้องบอกว่าคงถูกใจใครหลายๆคนที่รับเติมเงินออนไลน์ของค่าย 1-2-call โดยเฉพาะผู้ที่ใช้มือถือระบบปฏิบัติการ Android เป็นอย่างแน่นอนเพราะวันนี้เราจะมาทำ แอพพลิเคชั่นระบบเติมเงินออนไลน์กันสามารถทดสอบแอพพลิเคชั่นดังกล่าวได้ที่นี่ครับ https://play.google.com/store/apps/details?id=com.mondaro.easytopup
ในแอพพลิเคชั่นนี้สามารถเติมได้ทั้งระบบ 1-2-Call , DTAC และ Truemove-H นะครับ
สำหรับเครื่องมือที่เราจะใช้กันวันนี้ก็มีดังต่อไปนี้
1. โทรศัพท์มือถือระบบปฏิบัติการ Android จะเวอร์ชั่นไหนก็ได้ขอให้มี ซิมการ์ดที่เราได้ลงทะเบียนเป็นหน่วยเติมเงินออนไลน์ไว้ก็พอ
2. โปรแกรม Eclipse สำหรับผมใช้ Eclipse : โค้ดเนม JUNO for Java EE ก็ไปหาดาวน์โหลดมาใช้กันเองได้ ที่นี่
3. Android SDK สำหรับไว้ทำ Emulator จำลองโทรศัพท์เพื่อที่เราจะได้ทดสอบโปรแกรมเบื้องต้นก่อน ไปหามาได้ ที่นี่
ส่วนการติดตั้ง หรือตั้งค่าใดๆ เพื่อเตรียมความพร้อมก่อนการเขียนโปรแกรม ผมขออนุญาตแนบลิงค์ของเว็บไซต์นึงซึ่งผมก็เริ่มต้นจากตรงนี้แหละครับ ที่นี่เลย โดยคุณ BeYourCyber ต้องขอขอบพระคุณมากถ้าไม่มีท่าน BeYourCyber ก็ไม่มีท่าน MondAro ฮ่าๆๆๆ
เรามาเริ่มกันเลยนะครับก่อนอื่นก็ขอให้ทุกท่านบรรจงเปิดโปรแกรม Eclipse ขึ้นมาก่อนจากนั้นก็ทำตามขั้นตอนดังต่อไปนี้
Friday, August 10, 2012
PHP : ฟังก์ชั่น date() กับวันที่แบบไทยๆ
Thursday, August 9, 2012
PHP : การใช้งานกลุ่มฟังก์ชั่นวัน - เวลา
สวัสดีครับท่านผู้อ่านทุกๆท่าน สำหรับบทความนี้ต่อเนื่องมาจากบทความที่แล้วในเรื่อง ความรู้ทั่วไป : เรื่องของระบบวันเวลา นะครับอย่างไรก็ติดตามดูย้อนหลังกันได้นะครับจะได้มีพื้นฐานเรื่องระบบวันเวลามาก่อน สำหรับในภาษา PHP นั้นก็จะมีฟังก์ชั่นเกี่ยวกับวันเวลาตามตารางข้างล่างเลยครับ
ตารางแสดงฟังก์ชั่นเกี่ยวกับวันเวลาใน PHP
ฟังก์ชั่น
|
การใช้งาน
|
---|---|
ตรวจสอบข้อมูลวันที่
| |
ตรวจสอบ default time zone
| |
ตั้งค่า default time zone
| |
แสดงเวลาพระอาทิตย์ขึ้น
| |
แสดงเวลาพระอาทิตย์ตก
| |
แสดงค่าวันที่และเวลา
| |
แสดงรายละเอียดของวันที่และเวลา
| |
แสดงค่าเวลาปัจจุบันเทียบกับวันที่ 1 มกราคม ค.ศ.1970
| |
แสดงวันเวลาตามมาตรฐาน GMT
| |
สร้างวันเวลาตามมาตรฐาน GMT
| |
แสดงค่าวันเวลาตามมาตรฐาน GMT/UTC
| |
แสดงค่าวันที่และเวลาบนอินเตอร์เน็ต
| |
แสดงค่าวันเวลาท้องถิ่น
| |
แสดงค่าเวลาปัจจุบันแบบไมโครวินาทีและวินาที
| |
แสดงวันเวลาตามค่าที่กำหนด
| |
กำหนดรูปแบบการแสดงวันเวลาท้องถิ่น
| |
แปลงค่าวันเวลาจากเวลาท้องถิ่น
| |
แปลงค่าสตริงเป็นเวลา timestamp
| |
แสดงค่าเวลาปัจจุบันเป็นแบบ timestamp
|
Wednesday, August 8, 2012
ความรู้ทั่วไป : เรื่องของระบบวันเวลา
บทความวันนี้เป็นเรื่องของ ระบบวันเวลา ที่เราใช้กันอยู่ในปัจจุบัน คาดว่าหลายท่านยังไม่ทราบอย่างแน่นอน มนุษย์เรานั้นใช้การนับเวลามาตั้งแต่โบราณ เช่นการนับช่วงเวลาตั้งแต่พระอาทิตย์ขึ้นจนถึงช่วงพระอาทิตย์ตกว่า กลางวัน ช่วงเวลาตั้งแต่พระอาทิตย์ตกจนถึงพระอาทิตย์ขึ้นว่า กลางคืน นอกจากนี้ยังมีการนับวันเวลาโดยดูจากการโคจรของพระจันทร์เป็นเกณฑ์ เช่นการนับ ข้างขึ้น ข้างแรม เดือนอ้าย เดือนยี่ ปีชวด ฉลู ฯ อย่างในที่ประเทศไทยใช้กัน ซึ่งเราเรียกการนับเวลาที่ดวงจันทร์เต็มดวงครบ 12 ครั้งว่า 1 ปี จึงเป็นที่มาของคำว่า ปีจันทรคติ (Lunar Month) ซึ่งปีจันทรคติปกติจริงๆแล้วมี 354 วันต่อมาเมื่อผ่านไปหลายร้อยปี จึงมีการสังเกตุแล้วพบความเปลี่ยนแปลงว่าฤดูกาลที่กำหนดไม่ตรงกัน คือเดือนที่เป็นฤดูหนาวตรงกับเดือนของฤดูร้อน จึงได้มีการทดเวลาเพิ่มเพื่อให้มีความเที่ยงตรงกับฤดูกาลตามความเป็นจริง โดยปีที่เป็นอธิกวารจะมี 355 วัน (อธิก = เพิ่ม / วาร = วัน) และปีที่เป็นอธิมาสจะมี เดือนแปดสองหน ดังนั้นจึงมี 384 วัน (มาส = เดือน)
ประวัติการนับวันเวลาของแต่ละประเทศจะแตกต่างกันอย่างประเทศไทยจะมีการเพิ่มเดือนแปดมาอีก 1 เดือนในทุกๆ 4 ปี คนแก่ๆมักเรียกว่าแปดสองหน
ต่อมามีการนับวันตามสุริยคติ (Solar Month) อย่างที่ใช้กันในปัจจุบันคือการนับแบบวัน เดือน ปีโดยใช้การโคจรของพระอาทิตย์เป็นเกณฑ์ ซึ่งแต่ละรอบจะใช้เวลา 365.25 วัน
Tuesday, August 7, 2012
PHP : สนุกกับการใช้ฟังก์ชัน srand()
สวัสดียามเย็นย่ำค่ำ (ขณะเขียน) วันนี้ผมมีฟังก์ชันสนุกๆของ php มานำเสนอให้ทุกๆคนได้ลองเล่นลองทำตามกันนะครับ ก่อนอื่นก็ดาวโหลดไฟล์งานไปก่อนเลย
Download เป็นไฟล์นามสกุล .tar นะครับ ลองใช้วิธีในการคลายไฟล์อย่างที่เคยสอนไว้แล้วที่
การใช้งานคำสั่ง Unix/Linux เบื้องต้น
อิอิ (หากินกันง่ายๆแบบนี้เลย ฮ่าๆๆ)
ครับสำหรับฟังก์ชันที่จะสอนวันนี้คือ ฟังก์ชัน srand() นั่นเองสำหรับฟังก์ชันนี้คร่าวๆนะครับ เป็นฟังก์ชันสำหรับสร้างตัวเลขสุ่มขึ้นมา ซึ่งการทำงานต้องใช้ร่วมกันกับฟังก์ชัน rand() และ getrandmax() ด้วย มีรูปแบบการเขียนดังนี้ครับ
void srand(int seed) โดยที่ seed คือเลขจำนวนเต็มสูงสุดที่จะใช้ในการสุ่มค่านะครับ
ตัวอย่างการใช้งานคำสั่ง
<? srand((double)microtime()*1000000); $seed = rand(1000000,9999999); echo $seed ."<br>"; srand((double)microtime()*$seed); echo rand(1,100); ?>
Monday, August 6, 2012
Ubuntu : คำสั่งการใช้งาน Unix/Linux เบื้องต้น
สำหรับบทความนี้จะเป็นการรวบรวมคำสั่งและตัวอย่างการใช้งานคำสั่ง บนระบบปฏิบัติการ Unix/Linux นะครับซึ่งการใช้งานคำสั่งต่างๆจะมีประโยชน์มากต่อผู้ใช้งานทั้งผู้ใช้ที่เริ่มต้นกับ Linux ไปจนถึงผู้เชีั่ยวชาญเลยทีเดียว เรามาดูกันครับว่าคำสั่งต่างๆนั้นมีอะไรกันบ้าง ผมขอแยกเป็นหมวดหมู่ให้ง่ายต่อการอ่านและค้นหานะครับ
1. คำสั่งเกี่ยวกับการจัดการไดเรกทอรี่ คำสั่งในหมวดนี้ ได้แก่
2. คำสั่งเกี่ยวกับการจัดการแฟ้มข้อมูล คำสั่งในหมวดนี้ ได้แก่
1. คำสั่งเกี่ยวกับการจัดการไดเรกทอรี่ คำสั่งในหมวดนี้ ได้แก่
- cd
- pwd
- mkdir
- rmdir
2. คำสั่งเกี่ยวกับการจัดการแฟ้มข้อมูล คำสั่งในหมวดนี้ ได้แก่
- ls
- cp
- mv
- rm
- tar
- gzip
- gunzip
Saturday, August 4, 2012
Ubuntu : การใช้งาน Transmission Bittorrent Client ฉบับสมบรูณ์
ปัญหาที่สำคัญของหลายๆคนที่ชอบใช้งาน Bittorrent จนเคยชินบนระบบปฏิบัติการ Windows ด้วยโปรแกรมที่คุ้นเคยเช่น uTorrent, Bitcomet เป็นต้น อาจหมดไปบนระบบปฏิบัตการ Ubuntu เพราะเรามีพระเอกขี่ม้าขาวของเรามาช่วยแล้วนั่นก็คือโปรแกรม Transmission Bittorrent Client ที่มาพร้อมระบบปฏิบัติการเบื้องต้น ไม่ต้องติดตั้งเพิ่มเติมให้เมื่อแขน ให้ปวดขา ให้ขัดลูกกะตาแต่อย่างใด ว่าแล้วเรามาเริ่มกันเลย ก่อนอื่นเรามาหาพระเอกเราก่อนโดยกดเข้า Menu แล้วพิมพ์ว่า Transmission ดังภาพ
Friday, August 3, 2012
C : เริ่มต้นพัฒนาภาษา C ง่ายๆบน Ubuntu
ในการเขียนโปรแกรมภาษา C บนระบบปฏิบัติการ Ubuntu นั้นง่ายแสนง่ายเพราะใช้เพียงแค่เครื่องมือพื้นฐานที่มีอยู่แล้วนั้น ก็สามารถที่จะพัฒนาโปรแกรมต่างๆได้แล้ว โอ้ววว.. มันง่ายขนาดนั้นเลยหรอจอร์จ ใช่แล้ว!!มันง่ายขนาดนั้นเลยหล่ะซาร่าห์ เพียงแค่คุณมีเครื่องมือดังต่อไปนี้
- คอมพิวเตอร์ที่มีระบบปฏิบัติการ Ubuntu (ตัวอย่างใช้ Ubuntu 12.04 LTS ล่าสุดๆๆ)
- โปรแกรม Gedit (ไม่ต้องไปหาที่ไหนมีมาให้ในระบบปฏิบัติการอยู่แล้ว)
- โปรแกรม Terminal ลองกด Ctrl + Alt + T ดูสิ ความมหัศจรรย์ก็จะบังเกิดขึ้นโดยพลัน
เมื่อเครื่องมือพร้อมเราก็ลุยกันเลยขั้นแรกก็เปิดโปรแกรม Gedit ซะ ซะแว๊บ...
Saturday, May 12, 2012
Ubuntu : ใช้งาน apt-fast บน Ubuntu 12.04 LTS
ปัญหาของคนที่ใช้คำสั่ง apt-get นั่นก็คือสิ้นเปลืองค่าอาหาร เพราะต้องนั่งรอนานแสนนานกว่าจะเสร็จสิ้นในแต่ละกระบวนการ การหาขนมขบเคี้ยวฆ่าเวลาจึงเป็นเรื่องปกติ นั่นไงหล่ะปัญหาของการเปลืองค่าอาหาร ฮ่าๆๆๆ เอาเป็นว่าเข้าเรื่องเลยละกันนะครับ apt-fast นั้นเป็นสคริปต์คำสั่งแบบเดียวกับ apt-get แต่เผอิญว่ามีความเร็วกว่าหลายขุมเลยทีเดียว ดังนั้นจึงมักเป็นที่หมายปองของเหล่าผู้ใช้ทั่วยุทธจักรที่ต้องการครอบครองมัน แต่ก็อีกนั่นแหละครับใช่ว่ามันจะมาพร้อมกับระบบเดิมๆเลยซะเมื่อไหร่ ดังนั้นคนที่อยากใช้คำสั่ง apt-fast บน Ubuntu 12.04 LTS จึงต้องทำความเข้าใจมันก่อนว่าเพราะอะไรมันจึงได้รวดเร็วยิ่งนัก
apt-fast ไม่ได้รวดเร็วกว่าเพราะมีคำว่า fast แต่เพราะเทคโนโลยีเบื้องหลังของมันใช้หลักการการแบ่งการดาวโหลดเป็นส่วนๆแบบโปรแกรมช่วยดาวโหลดต่างๆ ทำให้การดาวโหลดข้อมูลเร็วขึ้นกว่าเดิมเพราะไม่ต้องดาวโหลดตั้งแต่เริ่มต้นไฟล์จนถึงจบไฟล์มันนาน และการที่จะทำการแบ่งการดาวโหลดได้นั้นต้องอาศัยสถาปัตยกรรมของ arial2c หรือ axel ในการทำงานดังภาพประกอบ
Subscribe to:
Posts (Atom)