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

บทความ

กำลังแสดงโพสต์จาก มีนาคม, 2020

แหล่งเรียนรู้พื้นฐาน CodeIgniter เพื่อการพัฒนาระบบเว็บแอพพลิเคชั่น ที่สะดวก และปลอดภัยขึ้น

รวมลิงค์วิดีโอสอนเขียนโปรแกรม PHP ด้วย CodeIgniter Framework สำหรับแหล่งเรียนรู้ที่นำเสนอในบทหน้านี้ จะเป็นพื้นฐานการใช้งาน CodeIgniter เพื่อให้เข้าใจหลักการเขียนโปรแกรมแบบ MVC และการตั้งค่าต่างๆ ก่อนเริ่มเขียนโปรแกรม ซึ่งความยากของการใช้งาน Framework ก็คือ "กรอบ" ที่ตัวเฟรมเวิร์คกำหนดให้ทำตาม จึงทำให้ผู้เริ่มศึกษาเรียนรู้เกิดความสับสน กดดัน และไม่คุ้นเคยกับการแยกกันทำงานเป็นส่วนๆ แต่ถ้าหากดูผ่านๆหลายๆรอบ ของผู้สอนหลายๆท่าน ก็จะสามารถเข้าใจหลักการได้ในที่สุด สอนเขียน PHP ด้วย Codeigniter Framework ( โดย  KanexKane ) ชุดการสอน Codeigniter Framework v.2 ( โดย บัณฑิต แสนคำภา ) สอนเขียนเว็บไซต์ ด้วย Codeigniter HMVC ( โดย  พิเชษฐ์ ขุนใจ ) สอนการเขียน Basic : PHP Codeigniter 3.1.8 ( โดย  TTVONE DEVELOPER ) PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม http://fastcoding.phpcodemania.com

PHP CI MANIA : Version 0.7 - อัพเกรดเวอร์ชั่น PREMIUM เพิ่มโมดูล PDF / Excel / Chart

อัพเดตความสามารถใหม่ PHP CI MANIA มีรายละเอียดดังนี้ [1] การสร้างรายงานรูปแบบ PDF [2] การนำเข้า/ส่งออกข้อมูลด้วยไฟล์ Excel [3] สร้างรายงานรูปแบบกราฟด้วย Chart.js สามารถทดลองใช้งานตัว Demo ออนไลน์ได้ที่ http://demo.phpcodemania.com/phpcimania ตัวอย่างการทำงาน PHP CI MAINA เวอร์ชั่น PREMIUM PHP อ่านไฟล์ Excel ง่ายๆด้วย PHP CI MANIA ( ver. PREMIUM) PHP CI MANIA สาธิตการทำงานของส่วนแสดงผลแผนภูมิด้วย Charts.js แนะนำการใช้งานแบบเบื้องต้น ครบทุกขั้นตอน PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม http://fastcoding.phpcodemania.com

PHP Array เขียนโปรแกรมตัดเกรดด้วย PHP เพื่อการเรียนรู้การใช้งาน Array

โค้ดต่อไปนี้จะเป็นการสร้างฟังก์ชั่นเพื่อตัดเกรด โดยใช้ความสามารถของตัวแปร Array ในการเก็บเกรดต่างๆเอาไว้ทั้งหมด 10 ตำแหน่ง และข้อความ Error ในตำแหน่งที่ 11 <?php // ฟังก์ชั่นรับค่าคะแนน และคืนค่าเป็น เกรดที่ได้ function calculate_grade($score){ $grade = array('F', 'F', 'F', 'F', 'F', 'D', 'C', 'B', 'A', 'A', 'A', 'Error'); if($score > 100 || $score < 0){ $cal = 11; }else{ $cal = floor($score / 10); } return $grade[$cal]; } // ทดสอบฟังก์ชั่นโดยการส่งค่าทุกหลักเข้าไป echo '<br/>', $number = 0, ' = ', calculate_grade($number); echo '<br/>', $number = 8, ' = ', calculate_grade($number); echo '<br/>', $number = 16, ' = ', calculate_grade($number); echo '<br/>', $number = 21, ' = ', calculate_grade($number); echo '<br/>', $number = 39, ' = ', calculate_...

การเปิด Console ของเว็บบราวเซอร์ เพื่ออ่าน Error เมื่อส่งข้อมูลแบบ Ajax

กรณีที่เกิด Error แล้วไม่พบข้อความแจ้งเตือน จะมีอยู่ 2 สาเหตุหลักๆ คือ 1. ไม่ได้เปิด error_reporting() สามารถดูวิธีได้ที่นี่ 2. เป็นการรับส่งข้อมูลผ่าน AJAX จึงทำให้แสดงอยู่เบื้องหลังต้องเปิดดูจาก console ของเว็บบราวเซอร์ ซึ่งขั้นตอนมีดังต่อไปนี้ 1. กด F12 เพื่อเปิด Console ของเว็บบราวเซอร์ขึ้นมา 2. คลิกไปที่แท็ป เครือข่าย (Network) 3. คลิกลิงค์รายการที่ขึ้น Error 4. คลิกดูแท็ป การตอบสนอง (Response) 5. จะปรากฏข้อความแจ้ง Error พื้นที่ด้านล่าง วิดีโอแนะนำขั้นตอน   กลับสู่หน้า FQA    PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    1,500    บาท http://fastcoding.phpcodemania.com

PHP Array จัดเรียงข้อมูลตามราคาด้วย ฟังก์ชั่น array_multisort()

จัดเรียงข้อมูลตามราคาด้วย PHP array_multisort() โค้ดตัวอย่างนี้จะทำการจัดเรียงข้อมูลในตัวแปร $inventory โดยที่ให้จัดเรียงตามราคา <?php $inventory = array(    array("type"=>"fruit", "price"=>3.50),    array("type"=>"milk", "price"=>2.90),    array("type"=>"pork", "price"=>5.43), ); $price = array_column($inventory, 'price'); array_multisort ($price, SORT_ASC, $inventory); echo '<pre>'; print_r($inventory); echo '</pre>'; ?> ผลลัพธ์ จัดเรียงแบบค่าน้อยไปมา array_multisort($price, SORT_ASC, $inventory); จัดเรียงแบบค่ามากไปน้อย array_multisort($price, SORT_DESC, $inventory); ที่มา https://stackoverflow.com/questions/1597736/how-to-sort-an-array-of-associative-arrays-by-value-of-a-given-key-in-php PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม   1,500    บ...

PHP Array การค้นหาข้อมูลใน Array ด้วย in_array() และ array_intersect()

การค้นหาข้อมูลใน Array ถ้าเรารับข้อมูลที่ส่งเข้ามาผ่าน $_POST และได้ข้อมูลตัวอย่างเก็บไว้ใน $php_func ดังนี้ <?php $php_func = array (   'id' => '',   'order_date' => 'to_thai_full_month',   'order_user_id' => '',   'order_remark' => '',   'order_status' => '', ); echo "ผลลัพธ์ : " , in_array('to_thai_full_month', $php_func).'<br/>'; ?> เมื่อต้องการค้นหาว่ามีการส่งค่า to_thai_full_month มาด้วยหรือไม่เราสามารถใช้ฟังก์ชั่น in_array() ค้นหาข้อมูลในตัวแปร เมื่อพบจะได้ผลลัพธ์ดังนี้ แต่ถ้าเกิดว่า เราต้องการค้นหาหลายค่า การจะวนลูปด้วย foreach() แล้วตรวจทีละค่าก็ได้ หรือเราจะใช้ array_intersect() ที่เป็นฟังก์ชั่นของ PHP ที่มีมาให้อยู่แล้วก็ย่อมสะดวกรวดเร็วกว่า <?php $php_func = array (   'id' => '',   'order_date' => 'to_thai_full_month',   'order_user_id' => '',   'orde...

วิธีการนำข้อมูลใน Dropdown List ที่มีเครื่องหมายคั่นกลาง ไปแสดงใน div แบบแยกทีละรายการ (Option List)

วิธีการนำข้อมูลใน Dropdown List ไปแสดงใน div ที่มีไอดี oupput ด้วย JavaScript มีดังนี้ 1. ใช้ ฟังก์ชั่น split() เพื่อแยกข้อมูลเป็นอาร์เรย์ 2. และใช้ map() เพื่อวนลูปสร้างข้อความใหม่ 3. สุดท้ายเปลี่ยนอาร์เรย์เป็นข้อความตามเดิมด้วย join() พร้อมกับขึ้นบรรทัดใหม่ <br/> <form action="dropdown.php" method="POST"> <select name='QR' id="QR" onChange="outputValue(this)"> <option value='324|56|70'>324|56|70</option> <option value='4|3567|00'>4|3567|00</option> <option value='434|5640|'>434|5640|</option> <option value='6|76|57|50'>6|76|57|50</option> </select> </form> <div id='output'></div> <script> function outputValue(item){ var opt_val = item.value; //แยกข้อความเป็นอาร์เรย์ var arr_number = opt_val.split('|'); //วนลูปแทรกข้อความ var newarray = arr_number.map((num, i) =...

หาจำนวน factorial ของตัวเลขที่กำหนด (สุ่มเลขแบบไม่ซ้ำ)

การทำงานจะเป็นการนำจำนวนเลขมาหาความยาว เพื่อหา factorial ของเลขชุดนั้นๆ จากนั้นก็นำมาคำนวณหาจำนวนเลขซ้ำเพื่อลดจำนวนผลลัพธ์ที่ต้องการ <?php // หาจำนวน factorial ของตัวเลขที่กำหนด function factorial_of_number($n){ $x = 1; for($i=1;$i<=$n-1;$i++) { $x *= ($i+1); } return $x; } // สร้างข้อมูล Array ตามจำนวน factorial ที่ไม่ซ้ำกัน function generate_factorial_number($number){ $num_arr = str_split($number); // แยกตัวเลขแต่ละตัวให้เป็น Array 1 ชุด $num_len = count($num_arr); // นับจำนวนตัวเลข $factorial = factorial_of_number($num_len); // หาค่า factorial $operator = $factorial / $num_len; //<-- สูตรสำหรับใช้ คำนวณจำนวนไม่ซ้ำ $count_group = count(array_unique($num_arr)); //<-- นับจำนวนตัวเลขที่ ไม่ซ้ำกัน $case = $count_group - 1; // <-- หาสูตรที่ใช้คำนวณจำนวน factorial ไม่ซ้ำกัน if($count_group == $num_len){ // ถ้าจำนวนไม่ซ้ำกันเลข $loop = $num_len * $operator; }else{ switch($case){ c...

ค้นหาในเว็บไซต์

เนื้อเพลงที่ได้รับความนิยม ในรอบสัปดาห์

แจกโค้ด PHP : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย PHP

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ  และด้านล่างนี้ก็เป็น Source Code PHP ระบบต่างๆ ที่มีเหล่าผู้ใจดีแจกฟรี!! ให้นำไปลองใช้ลองศึกษากันครับ แจกฟรี  !! ตัวอย่างการ  PHP  Booking # จองห้องประชุม  ผ่านเว็บครับ http://www.thaicreate.com/php/forum/090558.html ระบบแบบสอบถาม https://www.thaicreate.com/php/forum/099342.html แจก code!! การทำประเมินออนไลน์มี ไว้สำหรับพัฒนาต่อยอด https://www.thaicreate.com/php/forum/102203.html แจกฟรี PHP CodeIgniter CMS ให้ทุกท่านได้ลอง (รองรับ Responsive) http://www.thaicreate.com/php/forum/122929.html โดย : https://www.cszcms.com/ แจก PHP : ระบบยืม-คืนเอกสาร (จากตัวอย่าง เอกสารข้อมูลวัตถุดิบสินค้า) http://www.thaicreate.com/php/forum/103428.html แจกระบบ PHP Shopping Cart ระบบตะกร้าสินค้า ระบบสั่งซื้อ มีระบบตัดสต๊อก, สั่งซื้อวัตถุดิบคงเหลือ ht...

PHP ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

PHP Fiction Management System   โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป   ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้ 1. รายชื่อนิยายทั้งหมด 2. แนวนิยายที่เขียน 3. พล็อตของแต่ละเรื่อง 4. ฉากเหตุการณ์ในแต่ละพล็อต 5. เนื้อเรื่องในแต่ละฉาก 6. รายชื่อตัวละครในนิยา...

จัดระเบียบโค้ด ใน Notepad++ (Auto indentation plugin)

เวลาเขียนโค้ด แล้วไม่ได้จัดรูปแบบ หรือเอาโค้ดจาก Text Editor หนึ่งมาใช้ในอีกตัวหนึ่งก็มีโอกาสที่ Tab หรือ Space bar จะต่างกัน แล้วเราจะมานั่ง TAB เองก็คงไม่ไหว จึงจำเป็นต้องหา Plugin เข้ามาช่วย ลองค้นดูก็เจอกับกระทู้นี้ >> แม้หน้าตาจะไม่ตรงกันแต่หลักๆก็คือเพิ่ม Plugins เข้าไปชื่อ Indent By fold อ่านเต็มๆได้ที่นี่ https://softwarerecs.stackexchange.com/questions/1496/auto-indentation-plugin-for-notepad

PHP + Fullcalendar กับ MySQL

หลักการทำงาน เรียกข้อมูลจากตาราง tb_event ด้วยฟังก์ชั่นของ MySQLi ข้อมูลจากฐานข้อมูลจะถูกวนลูปเก็บไว้ใน $data และจะถูกส่งไปที่ Fullcalendar ด้วยการแปลงข้อมูลจาก PHP ให้อยู่ในรูปแบบ JSON อาร์เรย์ด้วยฟังก์ชั่น json_encode()

แก้ปัญหา Xampp เข้าผ่าน IP จากเครื่องอื่นไม่ได้ โดยการเปิด Firewall เชื่อมต่อ httpd ได้

กรณีที่ติดตั้ง Xampp แล้วเปิดจากเครื่องอื่นๆผ่าน IP ไม่ได้ ให้ทำการเปิด Firewall ในเครื่องที่ติดตั้ง xampp เพื่ออนุญาตให้เครื่องอื่นเข้าถึงได้ คลิกเมนู ค้นหา แล้วพิมพ์คำว่า firewall แล้วเลือกเมนู Firewall & network protection คลิกที่เมนู Allow an app through firewall คลิกที่ปุ่ม Change settings เลือกทั้ง Private และ Public (ถ้าไม่มีให้กดที่ปุ่ม Allow another app... เพื่อเพิ่ม httpd.exe ใน Path เฉพาะของเรา กรณีที่ไม่ได้ติดตั้ง) (สามารถเปิดดูรายละเอียด Path ของรายการที่แสดงได้ โดยคลิกปุ่ม Details...)   จากนั้นกด OK   ลองเข้าจากอีกเครื่องด้วย IP อีกครั้ง ก็จะพบว่าสามารถเข้าถึงหน้าเว็บที่ต้องการได้เรียบร้อย ที่มา : https://www.youtube.com/watch?v=KIYpkDy34DY   บทความที่เกี่ยวข้อง แก้ปัญหาการเปิด Firewall ทำให้ Client เชื่อมต่อ MySQL ไม่ได้ http://blog.phpcodemania.com/2021/04/xampp-ip-firewall-httpd.html   PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding...

PHP กับจัดการฐานข้อมูลหมวดหมู่สินค้า MySQL แบบใช้ตารางเพียงตารางเดียวเท่านั้น

การเขียนโปรแกรม PHP แสดงหมวดหมู่สินค้า สำหรับโครงสร้างฐานข้อมูลแบบทั่วไปเมื่อมีรายการย่อย เราจะใช้หลักการ One -> Many คือมี 1 ตารางหมวดหมู่หลัก และมีอีก 1 ตารางเป็นหมวดหมู่ย่อย แต่ปัญหาของกรณีแยกตารางออกจากกันนี้ ตัวผู้เขียนพบปัญหาว่าเมื่อมีหมวดหมู่ย่อยลงไปอีก  3 ชั้นบ้าง 4 ชั้นบ้าง หรืออาจจะมีหมวดย่อยไม่จำกัด ก็จะทำให้การเขียนโปรแกรมนั้นยากขึ้น เช่น การเขียนคำสั่ง SQL JOIN เพื่อดึงข้อมูลตารางที่ 2 มาแสดง SELECT        id, name FROM        tb_cate1 AS tbMaster INNER JOIN        tb_cate2 AS tbDetail ON tbMaster.id= tbDetail.ref_id WHERE        {เงื่อนไขที่ใช้ค้นหา} และเมื่อมีการเชื่อมหลายๆตาราง ก็จะทำให้หน้าเว็บทำงานได้ช้าลง (อ่านเรื่อง " การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว ") ดังนั้นผู้เขียนจึงได้ทำการปรับปรุงตาราง ให้เหลือตารางเดียว และกำหนดฟิลด์ ref_parent_id สำหรับใช้อิงหมวดหมู่หลักของรายการนั้นๆ ซึ่งถ้ามีค่าเป็น 0 แสดงว่าเป็นหมวดห...

MySQL คำสั่ง SQL จัดเรียงคำตามตัวอักษร ภาษาไทย ในฟิลด์ที่กำหนด Collation เป็น utf-8

การจัดเรียงข้อมูลตามลำดับตัวอักษรไทย   CONVERT( name USING tis620 ) ASC การเรียงลำดับตัวอักษรแบบ tis-620 ในการเขียนโปรแกรม PHP เพื่อแสดงข้อมูลจากฐานข้อมูล MySQL การเขียนคำสั่ง SQL ให้จัดเรียงลำดับนั้น เราจะใช้ ORDER BY  และกำหนดฟิลด์ที่ต้องการจัดเรียงลำดับ เช่น ในตัวอย่างนี้จะเป็นการจัดเรียงตามลำดับตัวอักษรของชื่อเมนู นั่นก็คือฟิลด์ name นั่นเอง แต่ในขั้นตอนการสร้างฐานข้อมูลนั้น เราได้กำหนด Charset ของตารางและฟิลด์เป็นการจัดเรียง Collation แบบ utf-8 เอาไว้เพื่อให้รองรับภาษาแบบมาตรฐาน ดังนั้นเมื่อเขียนโปรแกรมสั่ง ORDER BY name ASC ก็จะมีการจัดเรียงที่จะให้คำที่มีสระนำหน้าอยู่หลัง ฮ. นกฮุก ไปเสียหมด จะเห็นว่าชื่อเมนูหรือสินค้าที่มี ข นำหน้าจะมาเป็นลำดับแรก ทั้งที่จริงๆแล้ว มีสินค้าที่เป็น ก อยู่หลายรายการ เพียงแต่ว่ามีสระนำหน้าอยู่เท่านั้นเอง จากรูปด้านบน จะมีรายการที่เป็น ก อยู่ 3 รายการ คือเมนู โกโก้ ต่างๆ แต่เพราะมีสระโอ นำหน้า จึงทำให้การจัดเรียงแบบ utf-8 ให้อยู่ในลำดับท้าย เพื่อแก้ไขปัญหานี้ การเขียนโปรแกรมเพื่อ ORDER BY จะต้...

PHP คืออะไร : มีหลักการทำงาน และสิ่งที่น่าสนใจอะไรบ้าง?

PHP คืออะไร? PHP ย่อมาจากคำว่า "Personal Home Page Tool" (ปัจจุบันได้เพิ่มเติมคำย่อใหม่โดยรวมกับตัวย่อเป็น  PHP : PHP Hypertext Preprocessor ) ซึ่งเป็นภาษาประเภท Script Language ที่ทำงานแบบ Server Side Script กระบวนการทำงานจะทำงานแบบ โปรแกรมแปลคำสั่ง  interpreter คือแปลภาษาทุกครั้งที่มีคนเรียกสคริปต์ ข้อดีคือ ไม่ต้องนำไปประมวลผลใหม่ (Compiler) เมื่อจะนำโปรแกรมไปใช้งาน หรือจะอัพเดตเวอร์ชั่นของโปรแกรม สามารถอัพโหลดขึ้นไปทับไฟล์เดิมแล้วใช้งานได้ทันที ขอเสียที่ต่างกันอย่างชัดเจนก็คือ กรณี Syntax ผิดจะรู้ก็ต่อเมื่อมีผู้ใช้งานเจอบั๊ก ภาษา PHP  จัดอยู่ในประเภท การเขียนโปรแกรมบนเว็บ (Web-based Programming) เพราะเราจะเก็บโค้ดคำสั่ง หรือสคริปต์ทั้งหมดที่เขียนขึ้นมาไว้บนเครื่องเซิร์ฟเวอร์ที่เดียว (Web Server)  และให้ผู้ใช้งาน (Client) เรียกใช้งานโปรแกรมผ่านเว็บเบราเซอร์ต่างๆ เช่น Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari ฯลฯ เพื่อนำข้อมูลมาแสดงผลที่หน้าจอของผู้ใช้แต่ละคนนั่นเอง PHP มีอะไรน่าสนใจบ้าง? เรามาลองพูดถึงเรื่องของการสร้...

การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว

สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc  ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Add Index Key</title> </head> <body> <h2>ORDER BY with ...

ระบบวัสดุคงเหลือ - การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method)

การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method) หลังจากได้อ่านบทความในเว็บต่างๆก็สรุปได้ดังนี้ 1. FIFO เข้าก่อน-ออกก่อน เหมาะสำหรับการตัดสต๊อกที่ใช้สำหรับของที่มีวันที่หมดอายุกำกับไว้ อาจจะเนื่องด้วยพนักงานสต๊อกจะต้องคอยเช็ควันที่หมดอายุบนสินค้าเสมอๆอยู่แล้ว 2. LIFO เข้าหลัง-ออกก่อน เหมาะสำหรับการตัดสต๊อกสินค้าที่ตกเทรนเร็วแบบคอมพิวเตอร์ หรือสินค้าเทคโนโลยีอื่นๆ ซึ่งส่วนใหญ่จะทำโปรโมชั่นมาล่อตาล่อใจให้ลูกค้าซื้อรุ่นใหม่ๆ ดังนั้นพนักงานก็ต้องตัดสต๊อกตัวที่ใหม่ที่สุดออกก่อน เพราะทิ้งไว้นานไปราคาทุน ณ ปัจจุบันจะไม่ตรงกับราคาที่ขายไป 3. Weighted Average ถัวเฉลี่ยน้ำหนัก เหมาะกับสินค้าที่ไม่มีวันหมดอายุกำกับ และราคาขึ้นลงไม่มากนัก (คอมพิวเตอร์หรือสินค้าเทคโนโลยีจะขึ้นลงทีเป็นหลักร้อยหลักพัน) ซึ่งเหมาะกับการนำมาใช้ทำสต๊อกวัสดุคงเหลือของสำนักงาน ปัญหาของการใช้ Weighted Average หรือการถัวเฉลี่ยราคาทุนต่อหน่วย จะมีอยู่ 2 รูปแบบ 1. แบบ Periodic Inventory เป็นการคิดราคาทุนถัวเฉลี่ยของสินค้าคงเหลือปลายงวด นั่นก็คือ บันทึกการรับเข้าด้วยราคาต่อหน่...

ค้นหาบล็อกนี้