ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์จาก 2015

PHP ระบบตะกร้าสั่งซื้อสินค้า Shopping Cart ตอนที่ 3

ดูตัวอย่างได้จากวิดีโอ ^^ สำหรบวิดีโอในตอนนี้ จะแนะนำส่วนของการยืนยันการสั่งซื้อ Check Out จะมีการบันทึกข้อมูลใน SESSION ที่เป็น Array ทั้งหมดลงในตาราง Order และ Order_detail เพื่อใช้เป็นประวัติในการสั่งซื้อ ซึ่งอาจจะประยุกต์เพิ่มเติมในส่วนของการแจ้งเตือนเจ้าของร้าน หรือแอดมินให้รับทราบว่า ได้มีการสั่งซื้อแล้วด้วย PHP Email อีกครั้งหนึ่ง

PHP ระบบตะกร้าสั่งซื้อสินค้า Shopping Cart ตอนที่ 2

สำหรับวิดีโอนี้จะมาต่อกันเรื่องของ ระบบตะกร้าสั่งซื้อสินค้า โดยจะทำการเปิดส่วนของ php.ini เพื่อให้แสดง error_reporting ให้แจ้งเตือนส่วนที่ทำงานผิดพลาดด้วย ในเนื้อหาของวิดีโอจะปรับแต่งโค้ดจากเดิมที่เรียกใช้ mysql_**** เป็นฟังก์ชั่นใหม่ที่ใช้ mysqli_*** เพื่อใช้กับ PHP 5.5 ขึ้นไป เพื่อให้สามารถสั่งซื้อสินค้าที่ต้องการได้ ดาวน์โหลดโค้ดได้ที่ : http://www.thaicreate.com/free-web-script/php-shopping-cart-session-array.html PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม สนใจสั่งซื้อเพียง  4,500  บาท http://fastcoding.phpcodemania.com/ สนับสนุนค่ากาแฟผู้เขียนได้ที่

PHP ระบบตะกร้าสั่งซื้อสินค้า Shopping Cart ตอนที่ 1

 ในวิดีโอตอนนี้จะแนะนำการดาวน์โหลดและปรับแต่งโค้ดให้ใช้งานกับ PHP 5.5 ขึ้นไปได้ เพราะฟังก์ชั่น mysql_**** ต่างๆได้ถูกยกเลิกไปแล้วในเวอร์ชั่นใหม่ ที่มา : http://www.thaicreate.com/free-web-script/php-shopping-cart-session-array.html

"The Sixth Man” - เงามายา

วันนี้หลังจากที่เล่นบาสฯจริงจังเกินไปหน่อย ก็กลับมาคิดดูว่า “แรกเริ่มเดิมทีที่กลับมาจับบาสอีกครั้งหลังจากไม่ได้เล่นมาเป็น 10 ปี” นั้นเพราะอะไร? - เพื่อสุขภาพ - เพื่อพละกำลัง - เพื่อฝึกสมาธิ - เพื่อลดความอ้วน!! เหตุผลเหล่านี้ไม่ว่าจะข้อไหน ก็ไม่ได้นำไปสู่การเล่นอย่างเอาเป็นเอาตาย เพราะชัยชนะไม่ใช่ทุกสิ่งทุกอย่าง สำหรับชีวิตของเราซะทีเดียว!! “คุโรโกะ” ตัวละครที่เปิดโลกของบาสเกตบอลของผมให้กว้างขึ้น การที่เราไม่สามารถทำคะแนนได้ใช่ว่าจะไม่มีประโยชน์ซะทีเดียว เผลอๆยังกลายเป็นอาวุธลับแบบคุโรโกะก็ได้ เพียงแต่ว่าเราต้องรู้ให้ได้ว่า “อะไรคือความสามารถที่ซ่อนเอาไว้ในตัวเราเอง” ผมเปล่าบอกนะว่าตัวเองเหมือนคุโรโกะ เพราะสมัยที่เล่นบาสฯโรงเรียน ผมไม่รู้ด้วยซ้ำว่าจะเล่นยังไงให้เด่น เล่นยังไงให้ถูกตาโค้ช ได้เป็นแค่ทีมสำรองที่คอยซ้อมให้ทีมหลักเท่านั้นเอง แต่นั่นก็ไม่ใช่ความผิดใครทั้งนั้น “แม้แต่ตัวเราเอง” เพราะช่วงเวลาที่แตกต่างกัน ย่อมเกิดความเข้าใจที่แตกต่างกัน แม้ตอนเด็กๆ เราจะฉลาดพอที่จะรู้ทุกสิ่งอย่าง แต่เราไม่ได้รู้เกินผู้ใหญ่หรอกนะ จะเรียกมันว่าอะไรดี เพราะมีมิติในการเข้าใจที่แตกต่าง

ชีวิตแต่ละช่วง มันก็แค่ “Sine Wave”

ไม่ว่าจะปรับความถี่ไปยาวให้ระยะเวลายืดออกไปยาวแค่ไหน สุดท้ายก็ต้องกลับมาเจอจุดสูงสุด และจุดต่ำสุดของลูกคลื่นอยู่ดี ชีวิตในแบบ Sine Wave ก็เป็นไปตามนั้น ใครความถี่สูงความเปลี่ยนแปลงในชีวิตก็สูงตาม ใครความถี่ต่ำหน่อยก็ยืดระยะการตกลงจุดต่ำสุดได้นานขึ้น ไม่ว่าชีวิตจะขึ้นไปอยู่จุดที่สูงที่สุดที่เป็นด้านบวกได้นานแค่ไหน สุดท้ายชีวิตก็จะวกกลับมาติดลบอยู่ดี แล้วจะทำอย่างไรได้บ้างล่ะ “สร้างแหล่งจ่ายไฟพร้อมเรกูเลเตอร์” ขึ้นมากรองลูกคลื่นสิครับ ก่อนอื่นเราก็ต้องเสริมสร้างธาตุไฟของตัวเองให้ดีๆ อย่าให้ธาตุไฟเข้าแทรกได้ง่ายๆด้วย Power Supply เจ๋งๆ เอาเฉพาะด้านบวกแบบ FULL-WAVE RECTIFICATION จากนั้นก็รักษาระดับไว้ด้วย Regulator เต็มกำลังประสิทธิภาพสูงๆสักหน่อย แค่คิดก็ยากแล้วใช่มั้ยล่ะครับ!! นั่นอาจจะเพราะว่าเรายังอยู่ในจุดที่ปลอดภัย มันคือ SAFE ZONE ที่มีค่าจึงไม่อยากเอาไปเสี่ยงอะไรใดๆทั้งสิ้น “วันหนึ่งฉันจะออกจาก SAFE ZONE” นึกภาพบรรยากาศในหนัง Resident Evil ไว้เลยครับ ทุกพื้นที่เต็มไปด้วยซอมบี้รอเหยื่ออันโอชะเข้ามาหา คือถ้าเราไม่แกร่งจริง ไม่รอดนะครับ แต่ด้วยความที่เราลงไปจุดต่ำสุดของ

ชีวิตจริงมัน "อะนาล็อก"

เพื่อนๆเคยเห็นนาฬิกาทรายไหมครับ? ในขนาดที่เท่ากัน รูปทรงเหมือนๆกัน ปริมาณทรายเท่ากัน แต่! ระยะเวลานับถอยหลังของแต่ละอันมันต่างกัน!! สำหรับโลกของโปรแกรมเมอร์นั้นมีแต่ 0 กับ 1 ผมเรียกมันว่า "ชีวิตดิจิตอล" ก็แล้วกัน มันเป็นชีวิตที่ไม่ค่อยซับซ้อนเลยจริงๆ แต่หลายๆคนก็มองว่าชีวิตพวกเรามันซับซ้อน ผมว่า "อาร์ตตัวแม่" ซับซ้อนกว่ากันเยอะ

ออกแบบระบบให้คะแนนการแข่งขันบาสเกตบอล

หลังจากเริ่มแข่งขันบาสเกตบอล ฟรีสไตล์ 3 ต่อ 3 ก็ได้พบว่าการนับคะแนนนั้น ไม่ว่าจะจดกระดาษ หรือพลิกสกอร์บอร์ดก็ตาม ไม่สามารถเก็บสถิติของผู้เล่นแต่ละคนในการแข่งขันแต่ละครั้งได้ ทำไมผมถึงคิดถึงเรื่องไร้สาระนี้ขึ้นมา (ผมเรียกว่าไร้สาระเพราะโปรแกรมเมอร์ส่วนใหญ่ใช้เวลาในการเขียนโค้ดเพื่อให้ได้เงินมา เรื่องที่ต้องเสียเวลาแต่ไม่ได้อะไรเลยเขาคงไม่ทำกัน ^^") ก็เพราะว่า ผมอยากสร้างแรงจูงใจให้กับน้องๆที่มาเล่นบาสเกตบอลด้วยกันทุกเย็น ให้เกิดความกระตือรือร้นที่จะพัฒนาตัวเอง (เพราะช่วงหลังๆคนเริ่มเล่นน้อยลงไป ส่วนหนึ่งอาจจะเพราะติดสอบช่วงกลางภาค)

โปรแกรมเมอร์จบใหม่ ทำไมหางานยากจัง?

ความรู้สึกของแอดมินอย่างผมต่อกระทู้ที่ได้อ่านนี้ ( http://pantip.com/topic/33721011 ) สำหรับเด็กจบใหม่ หรือคนที่ทักษะไม่แน่น อาจจะดูเหมือนยากลำบาก แต่จริงๆแล้วความสามารถใช้แค่ 50% ก็พอครับ ที่เหลืออยู่ที่ช่วงเวลาและโอกาส (อาจจะเรียกมันว่าโชคชะตาก็ได้ละมั้ง ^^)

ไม่ได้จบสายคอมพิวเตอร์มา ก็เขียนโปรแกรมได้!

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

การนำไอคอน มาแสดงบน Fullcalendar

เนื่องจากมีน้องคนหนึ่งให้ช่วยดูโค้ดเกี่ยวกับ Fullcalendar ให้หน่อย แล้วพอดีช่วงนี้ผมก็กำลังสนใจปฏิทิน Fullcalendar อยู่พอดี จึงลองหาสาเหตุที่ไม่สามารถแสดงข้อมูลจาก MySQL และไม่สามารถแทรก icon เข้าไปใน Fullcalendar ได้ จากที่สังเกตุได้ครั้งแรกคือ Error ที่ Console ของ Firefox เกี่ยวกับฟังก์ชั่นที่เขียนผิด และก็มีการ echo ค้างไว้ในส่วนของไฟล์ getCalendar.php ก็เลยจัดการทดสอบแล้วลบ echo ออกให้เหลือแค่ echo json_encode($event_array); ที่ได้ใช้งานจริงเท่านั้น ขั้นตอนการตรวจสอบความถูกต้องของโค้ด PHP 1) ต้องแน่ใจว่าคำสั่งที่เขียนไว้ สามารถดึงข้อมูลมาแสดงผลได้ด้วยการ echo $sql; 2) นำคำสั่งที่ได้ไปรันในโปรแกรมจัดการฐานข้อมูล ในที่นี้คือ phpMyAdmin 3) เมื่อตรวจสอบดูผลลัพธ์ที่ได้ หากถูกต้องมีข้อมูลก็แสดงว่าการ Query ทำงานได้ 4) มาดูการทำงานของ JavaScript ในส่วนของ jQuery มีการแจ้งเตือนที่ฟังก์ชั่น .on() ซึ่งจะใช้กับ jQuery เวอร์ชั่นใหม่เท่านั้น นั่นหมายถึงเวอร์ชั่น jQuery ที่มากับ Fullcalendar เป็นเวอร์ชั่นเก่า ก็ให้เปลี่ยนไปใช้ .live() แทน ก็จะทำงานได้ปกติ 5) มีส่ว

การดึงข้อมูล MySQL มาแสดงในปฏิทิน Fullcalendar ด้วย PHP

หลักการทำงาน เรียกข้อมูลจากตาราง tb_event ด้วยฟังก์ชั่นของ MySQLi ข้อมูลจากฐานข้อมูลจะถูกวนลูปเก็บไว้ใน $data และจะถูกส่งไปที่ Fullcalendar ด้วยการแปลงข้อมูลจาก PHP ให้อยู่ในรูปแบบ JSON อาร์เรย์ด้วยฟังก์ชั่น json_encode() PHP Code <?php //Database $data = array(); $link = mysqli_connect("127.0.0.1", "tobedev", "1234", "tobedev_example"); mysqli_set_charset($link, 'utf8'); if (!$link) {     echo "Error: Unable to connect to MySQL." . PHP_EOL;     echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;     echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;     exit; } $query = "SELECT * FROM tb_event"; if ($result = $link->query($query)) {     /* fetch object array */     while ($obj = $result->fetch_object()) {        $data[] = array(                     'id' => $obj->id,                     'title'=> $obj->titl

การส่งข้อมูลจาก PHP ไปยัง Fullcalendar ด้วยรูปแบบ JSON

สำหรับตัวอย่างนี้จะเป็นการนำข้อมูลที่อยู่ในฝั่งของเซิร์ฟเวอร์ นั่นก็คือ สร้างจาก PHP ส่งไปยัง JavaScript โดยจะแปลงให้อยู่ในรูปแบบ JSON ที่ Fullcalendar สามารถนำไปใช้ได้ทันที ลองดูวิธีการเขียนคำสั่ง PHP และการเรียกใช้งาน Fullcalendar ได้จากวิดีโอนี้ได้เลยครับ วิดีโอสาธิตการทำงาน ตัวอย่างซอร์สโค้ด <?php //Database $array = array(             array('title'=> 'Long Event',                     'start'=> '2015-02-07',                     'end'=> '2015-02-10'),             array('id'=> 999,                     'title'=> 'Repeating Event',                     'start'=> '2015-02-16T16:00:00')          ); ?> <script>     $(document).ready(function() {                 $('#calendar').fullCalendar({             header: {                 left: 'prev,next today',                 center: 'title',                 right: 

PHP Calendar : การเริ่มใช้งาน Fullcalendar.io

หลังจากที่เคยลองเขียนปฏิทินไว้ใช้เองแล้วเริ่มยากขึ้นเรื่อยๆ ก็มีคนแนะนำว่า "เฮ้ยพี่ Fullcalendar มันเจ๋งมากเลยนะ" และจากวันนั้นผมก็เลิกเขียนปฏิทินเองไปเลยครับ เรามาลองใช้ Fullcalendar กันดูบ้างดีกว่าครับ

PHP กับการ explode แล้วนำค่ามาวน loop

สำหรับตัวอย่างนี้จะสาธิตการแยกข้อความออกจากกันด้วยฟังก์ชั่น explode() วิธีการใช้สามารถดูเพิ่มเติมได้ที่ http://php.net/manual/en/function.explode.php <?php $student_name = array(                     '101' => 'Mr.Pongpun',                     '102' => 'Ms.Wundee',                     '103' => 'Mr.Suthep',                     '104' => 'Ms.Punnee'                 ); $_POST['view_id'] = '102|104|103';//ข้อมูลที่ต้องการแยกออกจากกัน ?> <h3>การแยกข้อความด้วย explode() และวนลูป (Loop) แสดงผลด้วย foreach() </h3> <?php $_array = explode('|', $_POST['view_id']); foreach($_array as $id){     echo 'Name :: ('. $id .') ';     echo $student_name[$id];     echo '<br/>'; } ?> <hr/> <h3>การแยกข้อความด้วย explode() และวนลูป (Loop) แสดงผลด้วย for() </h3> <?php $_array = explode('|', $_

การใช้ jQuery เว้นระยะห่างทางด้านซ้ายของหัวข้อย่อย ด้วยฟังก์ชั่น .css()

สำหรับการใช้ jQuery เว้นระยะห่างด้านซ้ายให้กับตัวเลขกำหนดหัวข้อนั้น เราสามารถเรียกใช้ฟังก์ชั่น .css() เพื่อกำหนด margin-left ให้มีค่าตามที่เราต้องการได้ โดยที่เราจะนับจำนวนจุดของหัวข้อเพื่อใช้เป็นตัวเว้นระยะขอบ เช่น  1.1.1 จะนับจุดได้ 2 จุด เราก็จะเว้นระยะโดยนำไปคูณ 20 ก็จะได้ระยะ 20px หากต้องการระยะห่างเพิ่มขึ้น ก็เพียงแค่เพิ่มค่าตัวคูณเข้าไปก็จะได้ระยะที่ห่างขึ้นตามต้องการ วิดีโอ ซอร์สโค้ด ลิงค์ที่เกี่ยวข้อง http://api.jquery.com/css/ http://www.w3schools.com/jsref/jsref_length_array.asp http://www.w3.org/TR/CSS21/box.html#mpb-examples

[สอน jQuery] เรียงลำดับข้อมูลด้วยตัวเลขหัวข้อที่กำหนดเอง

จากตัวอย่างในภาพ เมื่อเรากรอกตัวเลขหัวข้อของรายการในแถวใดๆ ก็จะเกิดการจัดเรียงลำดับอัตโนมัติทันที ตามฟังก์ชั่นที่เราเรียกใช้ วิดีโอตัวอย่าง

มาลองเขียน PHP7 กันเถอะ!

นึกถึงบรรยากาศที่เสียวสับหลังวาบบบบบ....ตอนที่เปลี่ยน PHP4.x => PHP5.x หรือบรรยากาศช่วง 5.2 => 5.3 อารมณ์คล้ายๆกัน เราคงจะรู้จักกันดีกับแพกเก็จที่ชื่อว่า Appserv ซึ่งผมใช้ถึง PHP5.2 แล้วผมก็ได้รู้จักกับตัวที่มาแทนที่เพื่อเขียน PHP >= 5.3 ด้วย Wampp และ Xampp ตามลำดับ ตอนนี้ก็เข้าสู่ช่วงเปลี่ยนถ่ายเวอร์ชั่นกันอีกครั้งใหญ่ เมื่อประสิทธิภาพ PHP7 ที่เขาวัดกันมาเกือบจะเทียบเท่า HHVM ของ facebook ดาวน์โหลดมาลองเล่นกันได้ที่ https://bitnami.com/stack/lamp/installer การติดตั้งก็ไม่ยาก ดาวน์โหลดมาแล้วดับเบิ้ลคลิกรันได้เลย ปล. MySQL เปลี่ยน พอร์ต ด้วยนะครับ เดี๋ยวจะชนกับตัวเดิมในเครื่อง

[สอนเขียน PHP] สร้าง PHP Builder : ตอนที่ 7

วิดีโอนี้จะเป็นการเปลี่ยนชื่อไฟล์และคลาสของ Controller และ View ให้สอดคล้องกับการทำงานของหน้าเพจนั้นๆ และจัดรูปแบบเนื้อหาตรงกลางให้เข้ากับ Boostrap Template ที่เลือกใช้ หลังจากที่นั่งคิดแล้วคิดอีก ก็รู้สึกว่าไฟล์ PHP ทั้งส่วนของ Controller และ View ดูขัดกับการทำงาน จึงตัดสินใจเปลี่ยนชื่อไฟล์ ซึ่งก็จะต้องเข้าไปเปลี่ยนชื่อ Class ด้วย แต่สำหรับ Eclipse มันจะเปลี่ยนชื่อคลาสของ Controller ให้อัตโนมัติตามชื่อไฟล์ได้เอง ลองดูตัวอย่างได้จากในคลิปวิดีโอครับ ติดตามความเคลื่อนไหวของ PHP Builder ได้ที่ http://goo.gl/Ec33yS ดาวน์โหลด PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม สนใจสั่งซื้อเพียง  4,500  บาท http://fastcoding.phpcodemania.com/

[สอนเขียน PHP] PHP Builder ตอนที่ 6 : สร้างเครื่องมือช่วย Generate โค๊ดสำหรับ CodeIgniter Framework

หลายครั้งที่เราต้องเขียนโค๊ด PHP เพื่อจัดการข้อมูลที่ลักษณะการทำงานเหมือนเดิม คือ เพิ่มข้อมูล เรียกแสดงผลข้อมูล แก้ไขข้อมูล และลบข้อมูลออกจากฐานข้อมูล ซึ่งขั้นตอนต่างๆเหล่านี้เราจะสร้างเป็น Model ที่เรียกรวมๆกันได้ว่า CRUD (Create,Read,Update,Delete) แต่ถึงแม้จะมีซอร์สโค๊ด CRUD ให้ดาวน์โหลดและปรับแต่งส่งค่าต่างๆให้ตรงกับตารางในฐานข้อมูลของเราได้ก็ตาม อย่างไรเสียเราก็ต้องมานั่งแก้ไขโค๊ดเองทุกครั้ง เพื่อให้มันทำงานได้ถูกต้อง ยิ่งมีหน้าจัดการฐานข้อมูลหลักหลายๆหน้า ก็ยิ่งต้องเขียนซ้ำกันไปซ้ำกันมาหลายครั้ง วิดีโอนี้จะเป็นการนำเสนอวิธีการใช้งาน PHP code Generator สำหรับ CodeIgniter Framework ในแบบฉบับของผมเอง เพื่อลดเวลาในการเขียนโค๊ดให้น้อยลงครับ สำหรับท่านใดที่สนใจซอร์สโค๊ดในตัวอย่างก็ดาวน์โหลดได้จากลิงค์ด้านล่างนี้เลยครับ ดาวน์โหลด วิธีแก้ปัญหา Call undifined method http://forum.codeigniter.com/thread-1408.html PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม สนใจสั่งซื้อเพียง  4,500  บาท http://fastcoding.phpcodemania.com/

อยากเป็นโปรแกรมเมอร์ ต้องทำยังไง?

     "อยากเป็นโปรแกรมเมอร์" คีย์เวิร์ดที่แอดมินอยากให้ลองค้นหาและอ่านดูกันครับ มีกระทู้แนวนี้เยอะแยะมากมายเลยทีเดียว แต่ก็ยังคงเห็นมีตั้งใหม่เรื่อยๆ อาจจะเพราะบทความเก่าๆ เป็นวิธีเก่าๆที่ไม่อัพเดตหรืออย่างไรก็ไม่ทราบได้

หาค่ามากที่สุด Max ด้วย JavaScript + jQuery - สอน JavaScript

สำหรับบทความนี้จะมาสาธิตการใช้ JavaScript กับ jQuery ในการหาค่าที่มากที่สุด หรือ Max Value ของ Input ที่กำหนดไว้ด้วยแอตทริบิวต์ Class ซึ่งจะใช้วิธีที่แตกต่างกันถึง 3 วิธี วนลูปด้วย each ของ jQuery และเปรียบเทียบค่ามากที่สุด วนลูปด้วย each ของ jQuery แล้วเก็บเป็นอาร์เรย์ แล้วใช้ฟังก์ชั่นทางคณิตศาสตร์ Math เพื่อเลือกค่าที่สุดจากอาร์เรย์ ใช้ฟังก์ชั่น map ของ jQuery ดัง value ของ textbox ทุกตัวที่กำหนดไว้ด้วย class เดียวกันออกมาเป็นอาร์เรย์แล้วใช้ฟังก์ชั่นทางคณิตศาสตร์ Math เพื่อเลือกค่าที่สุดจากอาร์เรย์

การคำนวนค่าความต้านทานแบบต่ออนุกรม

<!DOCTYPE html> <html> <head> <title>การหาค่าความต้านทานแบบอนุกรม</title> <meta charset="utf-8"> <script src="../js/jquery.min.js"></script> <script> var arr_resistance = []; var resistance = ''; function display_input(max_fields){ var x = 1; //initlal text box count $('#show_input').html(''); for(var i = x; i <= max_fields; i++) { $('#show_input').append('<div>R'+i+' : <input type="text" class="input_resistance"/> โอห์ม</div>'); //add input box if(resistance != ''){ resistance += ' + '; } resistance += 'R'+i; } $('#show_button').html('<div id="btn_nextstep"><button onclick="step1()">ขั้นตอนต่อไป (1)</button></div>'); //add input box } function check_data(){ var msg = ""; $( ".input_resistance&

[สอนเขียน PHP] สร้าง PHP Builder ตอนที่ 5 : สร้าง Controller ใหม่เพื่อเป็นหน้าเว็บเริ่มบันทึกโปรเจ็กต์

สำหรับตอนที่ 5 จะเป็นการนำเข้าสู่ขั้นตอนการเขียนโค๊ด โดยเริ่มจากสร้างไฟล์ Controller ขึ้นมาใหม่เพื่อใช้เป็นหน้าเพจสำหรับเริ่มบันทึกข้อมูลโปรเจ็กต์ ในวิดีโอนี้ยังแนะนำในส่วนของการแยก header, footer, navigation ออกจากกันกับ content ในแต่ละหน้า เพื่อให้ทุกๆหน้าสามารถเรียกใช้เทมเพลตตัวเดียวกันได้ # ลำดับขั้นตอนการดำเนินงาน สร้างไฟล์ application/controllers/Builder.php สร้างไฟล์ application/views/builder/home.php แยกโค๊ดในไฟล์ application/views/start.php เพื่อโหลดไปใช้ใน view อื่นๆได้ด้วยโดยตั้งชื่อไฟล์เป็น header.php, footer.php, left_sidebar.php ส่วนของหน้าเริ่มต้น Dashboard ของธีมนี้ยังอยู่ที่ไฟล์เดิมคือ application/views/start.php ทดสอบโหลด view ของเทมเพลตที่แยกออกมาไปรวมกันไว้ในไฟล์ application/views/builder/home.php เพื่อเตรียมพร้อมสำหรับการเขียนโค๊ดต่อไป # วิดีโอสอนเขียนโค๊ด หากมีข้อเสนอแนะ / คำถาม / ปัญหา หรือความคิดเห็นเพิ่มเติม โพสต์ไว้ที่คอมเมนต์ได้เลยนะครับ จะนำไปแก้ไขปรับปรุงให้ดียิ่งขึ้นต่อไป   Download Source PHP  CI  MANIA   -  PHP Code Generator  โ

[สอนเขียน PHP] สร้าง PHP Builder ตอนที่ 4 : ออกแบบฐานข้อมูล MySQL โดยใช้ phpMyAdmin (part 2)

ออกแบบฐานข้อมูล MySQL ด้วย phpMyAdmin  ต่อจากตอนที่แล้ว ได้ สร้างตารางเก็บข้อมูลไว้แล้ว 3 ตาราง ในคลิปวิดีโอตอนนี้ จะมาสร้างตารางเก็บข้อมูลเพิ่มอีก 5 ตารางรายละเอียดดังนี้ tb_table_list tb_field_list tb_function_list tb_field_function tb_include วิดีโอการออกแบบฐานข้อมูล ไฟล์คำสั่ง SQL ของฐานข้อมูล MySQL ในตัวอย่างมีดังนี้ -- phpMyAdmin SQL Dump -- version 4.3.10 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jul 12, 2015 at 12:20 PM -- Server version: 5.5.43-0ubuntu0.14.04.2 -- PHP Version: 5.5.9-1ubuntu4.11 -- -- Database: `tobedev_builder` -- -- -------------------------------------------------------- -- -- Table structure for table `tb_field_function` -- CREATE TABLE IF NOT EXISTS `tb_field_function` (   `id` int(11) NOT NULL,   `fl_id` int(11) NOT NULL,   `fn_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -------------------------------------------------------- -- -- Table structure for table `

[สอนเขียน PHP] สร้าง PHP Builder ตอนที่ 3 : ออกแบบฐานข้อมูล MySQL โดยใช้ phpMyAdmin

ตัวอย่างตอนนี้จะเป็นการออกแบบฐานข้อมูลและความสัมพันธ์ของแต่ละตารางนะครับ โดยที่จะเริ่มจาก 1. การสร้างตารางโปรเจ็กต์ 2. จากนั้นก็เพิ่ม Controller ของ Project นั้นๆ 3. ตารางสำหรับเก็บ View ของ Controller แต่ละหน้า วิดีโอตอนนี้เสียงจะเบามากนะครับเนื่องจากเสียงไม่เข้าไมค์เพราะตั้งค่าผิดพลาด วิดีโอตัวอย่าง SQL สำหรับสร้างตารางตามตัวอย่าง -- phpMyAdmin SQL Dump -- version 4.3.10 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jul 10, 2015 at 08:35 PM -- Server version: 5.5.43-0ubuntu0.14.04.2 -- PHP Version: 5.5.9-1ubuntu4.11 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Database: `tobedev_builder` -- -- -------------------------------------------------------- -- -- Table structure for table `tb_controller_list` -- CREATE TABLE IF NOT EXISTS `tb_controller_list` (   `id` int(11) NOT NULL,   `pj_id` int(11) NOT NULL,   `ctl_name` varchar(20) NOT NULL,   `ctl_remark` varchar(100) NOT N

[สอนเขียน PHP] สร้าง PHP Builder ตอนที่ 2 : ดาวน์โหลดและติดต้ง Bootstrap Template

มาเลือกเทมเพลตสำหรับโปรเจ็กต์กันก่อนเลยครับ ^O^   สำหรับ Bootstrap Template ที่ผมเลือกใช้ในวิดีโอนี้ก็คือ SB Admin 2 http://startbootstrap.com/template-overviews/sb-admin-2/ ลองดาวน์โหลด และนำมาใช้งานกันดูนะครับ ^^ #Edit สาเหตุที่ในคลิปวิดีโอไม่สามารถใช้ตัวพิมพ์เล็กบน URL ของ Controller ได้นั้น ไม่ได้เกี่ยวกับระบบ Ubuntu แต่อย่างใด สาเหตุเกิดจากไฟล์ application/third_party/MX/Rounter.php ยังเป็นฟังก์ชั่นเก่าที่ใช้กับเวอร์ชั่น 2.x ที่ไม่ได้สนใจชื่อไฟล์ตัวแรกเล็กหรือใหญ่ให้แก้ไขฟังก์ชั่น locate ดังโค๊ดด้านล่างนี้ครับ /** Locate the controller **/     public function locate($segments) {                      $this->module = '';         $this->directory = '';         $ext = $this->config->item('controller_suffix').EXT;                /* use module route if available */         if (isset($segments[0]) AND $routes = Modules::parse_routes($segments[0], implode('/', $segments))) {             $segments = $routes;

[สอนเขียน PHP] สร้าง PHP Builder : ร่างแนวคิดการสร้างแบบฟอร์มอัตโนมัติด้วย PHP MySQL + CodeIgniter

สำหรับแนวคิดที่เขียนไว้ในสมุดคร่าวๆก็มีดังในภาพนี้นะครับ ไว้มีเวลาจะคัดลอกออกมาเป็นข้อความให้เห็นกันชัดๆ ว่าเป็นยังไง ส่วนที่สำคัญก็คือ การเลือกฟิลด์ที่ต้องการ และกำหนด Label หรือหัวข้อของแต่ละช่องในแบบฟอร์มกรอกข้อมูล และการกำหนดชนิดช่องรับข้อมูลลงในส่วนของ Comment ในฟิลด์ต่างๆ เพื่อว่าเวลาสร้างโค๊ดอัตโนมัติจะได้ลดเวลาได้บ้าง กรณีที่เราไม่กำหนดอะไรเลย ก็จะนำชื่อฟิลด์ไปเป็นหัวข้อ (label) และชนิดช่องรับข้อมูลก็ปล่อยว่างไว้ให้เลือกกันเองไปเลย ซึ่งส่วนนี้ถ้ากำหนดไว้แล้วก็จะไม่ต้องมาเลือกอีก ถ้าเขียนโค๊ดเมื่อไหร่ จะนำลิงค์ซอร์สโค๊ดและวิดีโอสาธิตมาแปะไว้ให้อีกทีนะครับ