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

บทความ

กำลังแสดงโพสต์จาก มีนาคม, 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...

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

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

PHP + Fullcalendar กับ MySQL

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

PHP CI MANIA : ตอนที่ 11 วิธีสร้างแบบฟอร์มบันทึกข้อมูลแบบ Master - Detail เพิ่ม/ลบ/แก้ไข รายการย่อยได้

การสร้างแบบฟอร์มแบบ Master & Detail ก็คือการทำงานกับตาราง 2 ตาราง โดยที่จะมีการบันทึกข้อมูลหลักส่วนที่ 1 และมีแบบฟอร์มสำหรับบันทึกข้อมูลรายการ ในส่วนที่ 2 ดังภาพ ส่วนของการตั้งค่าจะอยู่ในแท็ป " ตั้งค่า" ส่วนที่ 4 ด้านล่างสุด "ข้อมูลตารางรายการ (Detail)" 1. เลือกตารางที่จะใช้บันทึกรายการ เช่นหน้าเว็บนี้คือการบันทึกประวัติ Resume ดังนั้นก็จะมีตารางเก็บผลงานต่างๆ นั่นก็คือตาราง tb_portfolio ที่เลือกในภาพ 2. จะปรากฏข้อมูลฟิลด์ของตารางที่เลือกเพิ่มมาด้านล่าง 3. ดูในส่วนของตารางหลัก (Master) ใน tb_resume จะมีฟิลด์ที่เป็น Primary Key ชื่อว่า resume_id ดังที่เลือกไว้ในภาพ 4. จากนั้นก็ย้ายมาด้านตารางรายการ (Detail) เราจะต้องเลือก Foreign Key หรือง่ายๆก็คือ เลือกฟิลด์ที่เราจะเอาไอดีของตารางหลัก มาใส่อ้างอิงในแต่ละรายการนั่นเอง 5. หลังจากนั้นก็กำหนดรูปแบบช่อง INPUT เหมือนกับที่กำหนดให้ตารางหลัก ในบทที่ผ่านๆมา คือ ช่องวันที่ ช่องอัพโหลดไฟล์ ช่องตัวเลข หรือการ JOIN ต่างๆ 6. หลังจากนั้นให้คลิกสร้างไฟล์ Models, Views, JS และ Controller...

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 จะต้...

จัดระเบียบโค้ด ใน 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 และการรับค่าผ่านตัวแปรต่างๆ

การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกัน คือ  $_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้ 1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ 2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็นส่วนใหญ่จะใช้กับการส่งค่าใน HTML FORM 3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าได้ทั้งที่ส่งมาแบบ $_GET และ $_POST สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้ เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม" จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร การส่งค่าผ่าน HTML FORM และ เมนูลิงค์ต่างๆ <html>    <head>        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />        <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>    </head>    <body>    | <a href="form-reque...

phpMyAdmin ขั้นตอนการกำหนด UNIQUE KEY ให้กับตาราง MySQL ที่ฟิลด์ต้องไม่ซ้ำกัน

ถ้าใช้เครื่องมือจัดการฐานข้อมูลด้วย phpMyAdmin การจะกำหนดให้ฟิลด์ที่มีค่าไม่ซ้ำกันเป็น UNIQUE KEY นั้นจะสามารถทำได้ดังต่อไปนี้ 1. คลิกที่แท็ป Structure เพื่อปรับแต่งโครงสร้างตาราง เลื่อนไปยังด้านล่าง จะมีส่วนของการกำหนด Indexes เราจะเพิ่มแก้ไขฟิลด์ให้เป็น PRIMARY หรือ UNIQUE ได้จากการกดปุ่ม Go 2. ตั้งชื่อ Index เลือกประเภทเป็น UNIQUE และระบุฟิลด์ที่ต้องการ จากนั้นก็กดปุ่ม GO 3. เมื่อการเพิ่ม UNIQUE เรียบร้อย จะพบรายการใหม่ขึ้นมาต่อท้าย PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4 ,500    บาท http://fastcoding.phpcodemania.com

เขียนโปรแกรม PHP เชื่อมข้อมูลหลายตารางแบบไม่ใช้ INNER/LEFT JOIN

PHP กับการเชื่อมตารางหลายตารางโดยไม่ใช้ JOIN ในการเขียนโปรแกรม PHP กับ MySQL บางครั้งการ JOIN แม้จะทำ INDEX ไปแล้วแต่ก็ยังมีโอกาสทำงานช้าได้ ซึ่งจากบทความก่อนหน้านั้น ผมได้สาธิตวิธีการเขียนโปรแกรมเชื่อมต่อฐานข้อมูล MySQL หลายตารางด้วยคำสั่ง JOIN ไว้ในบทความ " การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว " จะเห็นว่าเราสามารถเพิ่มความเร็วให้ได้อย่างดีทีเดียว แต่การเขียนโปรแกรมดังในวิดีโอนี้ จะเป็นการใช้ Array เก็บข้อมูลจากฐานข้อมูลไว้เปรียบเทียบรหัสที่ตรงกัน เพื่อดึงชื่อจากตารางอื่นมาแสดง ซึ่งก็มีข้อจำกัดเรื่องจำนวนเรคอร์ดหรือแถวของตารางที่จะดึงข้อมูลมาใส่ใน Array เพราะถ้าข้อมูลเยอะและมีการเปลี่ยนแปลงตลอดเวลา การเขียนโปรแกรม PHP โดยเก็บไว้ในอาร์เรย์ทั้งหมด ก็คงเป็นเรื่องยาก $allProduct = array(); $allCategoryId = array(); ดังนั้นตัวแปรทั้งสองตัวด้านบนนี้ จึงต้องเก็บเฉพาะข้อมูลของรายการที่เกี่ยวข้องเท่านั้นด้วยการค้นหาตาราง product  โดยคัดเอาเฉพาะที่มีอยู่ในรายการเท่านั้น IN() $allCategory = array(); แต่การใช้กับตาราง category  จะต่างกัน เพราะในตารางน...

CodeIgniter การกำหนดเงื่อนไขค้นหาในหน้า ตารางแสดงรายการ เพื่อให้การแสดงผล Pagination ทำงานถูกต้อง

การค้นหารายการในหน้า " ตารางแสดงรายการ " เราสามารถปรับแต่งส่วนของ การจัดเรียง ส่วนของการค้นหา เพิ่มเติมได้ที่ Model ที่ฟังก์ชั่น read() ซึ่งจะมีการ Query ด้วยกัน 3 ครั้ง คือ (1) นับจำนวนทั้งหมด (แบบไม่กำหนด WHERE) <= ปัจจุบันไม่ได้เอาไปแสดงผล (2) นับจำนวนที่ค้นหาเจอ จะยอดที่แสดงในส่วนของ "จากทั้งหมด ..... รายการ" (3) ดึงรายการทั้งหมดที่ค้นเจอ โดยสามารถกำหนดเงื่อนไขการแบ่งหน้าได้ public function read($start_row = FALSE, $per_page = FALSE) { $search_field = $this->session->userdata($this->session_name . '_search_field'); $value = $this->session->userdata($this->session_name . '_value'); $value = trim($value); // ถ้ามีเงื่อนไขหลัก ให้ใส่ไว้ก่อนที่นี่ $where = "GEO_ID IN (1, 2, 3)"; $order_by = ''; if($this->order_field != ''){ $order_field = $this->order_field; $order_sort = $this->order_sort; $order_by = " $this->my_table.$or...

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