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

บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2019

Stack Overflow : ตอน จัดเรียง Value ของ Select แบบ Multiple ตามลำดับการเลือกกันเถอะ (Select2)

"Prevent multiple select element from automatically sorting the value assigned to it basis the order of the indexes in the options" เรื่องของเรื่องมีอยู่ว่า...เมื่อเราใช้ Select2 ในการสร้าง Drop-down List และเวลาเลือก option แต่ละตัวเรียบร้อย พอส่งค่าไปใช้งาน มันก็จะเรียงจากบนลงล่าง option ไหนมาก่อน value ก็ไปก่อน แต่ทีนี้เราอยากให้มันเรียงตามลำดับการคลิก จะทำยังไง ก็เลยค้นด้วยคำง่ายๆไปเลย "select2 multiple value not sort" แล้วก็เล็งกระทู้ของ StackOverflow.Com แล้วก็ได้กระทู้นี้ https://stackoverflow.com/questions/21875658/prevent-multiple-select-element-from-automatically-sorting-the-value-assigned-to พอลองทดสอบดู ก็ได้ผลลัพธ์เหมือนดั่งที่ใจเราต้องการจริงๆ ก็เลยจัดการดัดแปลงนิดๆหน่อยๆ ได้ดังนี้ function getSelect2MultipleSortValue(elem_id){     // 'data' brings the unordered list, while 'val' does not     var data = $('#' + elem_id).select2('data');     // Push each item into an array     var final...

jQuery ความแตกต่างระหว่า .data() กับ .attr('data-xxx')

"Adding data attribute to DOM" สำหรับการสร้างแอตทริวต์ในอีเลเมนต์ต่างๆ เพื่อพักข้อมูลไว้นั้น เรานิยมใช้ชื่อ data-xxxxx เช่น ต้องการเก็บ id ไว้ก็สร้างแอตทริบิวต์ data-id="1234" ซึ่งสามารถใช้คำสั่งได้ 2 แบบ $('div').data('id', '1234'); และ $('div').attr('data-id', '1234');  .data('xxxx') กับ .attr('data-xxx') ก็คือ .attr() จะแสดงแอตทริบิวต์ที่เพิ่มเข้าไป หรือเปลี่ยนแปลงไป ในโครงสร้าง HTML ให้เห็นด้วย สังเกตว่าในรูปแท็ก <p> จะปรากฏแอตทริบิวต์ data-info แสดงออกมาด้วย ที่มา : https://stackoverflow.com/questions/14935191/adding-data-attribute-to-dom สนับสนุนค่ากาแฟผู้เขียนได้ที่ PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม สนใจสั่งซื้อราคาสุดคุ้ม http://fastcoding.phpcodemania.com/

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...

PHP CI MANIA : ตอนที่ 10 วิธีกำหนดค่าเริ่มต้น (Default Value) ให้กับช่องป้อนข้อมูลจาก SESSION/POST/GET

ไปที่แท็ป "ตั้งค่า" และเลื่อนลงมาในส่วนที่ 3 ตั้งค่าที่คอลัม "SOURCE (Add Form)" จะประกอบด้วยตัวเลือกดังนี้ Form Input จะเป็นการกำหนดตาม " ประเภทช่องป้อนข้อมูล " ใน ตอนที่ 7 URI Segment จะเป็นการดึงค่าใน URL หลัง /index.php ตามด้วยตัวเลขระบุลำดับที่ต้องการ  SESSION จะเป็นการดึงค่า SESSION ที่ล็อกอินมาใช้งาน  GET จะเป็นการดึงค่าใน URL (สำหรับ CodeIgniter จะไม่นิยมส่ง GET จะใช้ URI Segment ) POST จะเป็นการรับค่าจากการกด SUBMIT มายังหน้าแบบฟอร์มปัจจุบัน มาลองดูผลลัพธ์ทีละส่วนกันครับ 1. Form Input      จะกำหนดตาม " ประเภทช่องป้อนข้อมูล " ในตอนที่ 7 ในตัวอย่างนี้จะเลือก "ประเภทช่องป้อนข้อมูล" เป็นแบบบรรทัดเดียว  เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกเข้าไปที่หน้า "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์ดังนี้ 2. URI Segment      จะต้องกำหนดตำแหน่งของ URL ที่ต้องการดึงมาใช้งานด้วย ในตัวอย่างนี้คือเลข 4    เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกเข้าไปที่หน้า ...

PHP Array การสลับตำแหน่ง Array ระหว่าง key => value แบบไม่ต้องพิมพ์ใหม่ ด้วย array_flip(), var_export()

จากรูปด้านล่างนี้ จะเห็นว่ามี key ที่ชื่อว่า image/jpeg สองบรรทัด ทำให้ value ด้านหลังทับกันเหลือเพียงแค่ jpg ตัวสุดท้าย แต่ jpeg บรรทัดก่อนหน้านั้นหายไป เนื่องจากการกำหนดชื่อ key ของอาร์เรย์ ต้องไม่เป็นชื่อซ้ำกัน ดังนั้น จึงจำเป็นที่จะต้องสลับตำแหน่งระหว่าง key และ value กลับด้านกัน ซึ่งฟังก์ชั่นที่ใช้ก็คือ array_flip() ผลลัพธ์เมื่อใช้ array_flip() จะเห็นว่าสามารถกลับด้านข้อมูลได้ แต่ทีนี้จะทำยังไงเพื่อเอามาแทนที่โค้ดเดิมได้ เพราะการ print_r() เป็นเพียงแค่การแสดงผลลัพธ์ออกมาให้เห็น แต่ไม่ได้อยู่ในรูปแบบของซอร์สโค้ด PHP  และพระเอกของงานนี้ก็คือ var_export() ซึ่งทุกท่านอาจจะเคยเห็นผ่านตากับฟังก์ชั่น var_dump() มาบ้าง ซึ่งเป็นการแสดงข้อมูลออกมาเหมือนกับ print_r() แต่มีรายละเอียดที่มากกว่า แต่ var_export() จะแตกต่างออกไป เพราะสามารถแสดงข้อมูลอาร์เรย์ออกมาในรูปแบบของซอร์สโค้ด PHP เพื่อคัดลอกนำไปใช้งานต่อได้เลย ทีนี้ก็ถึงเวลาที่เราต้องเขียนโค้ดเพื่อดูผลลัพธ์กันแล้ว 1. สลับค่าในตัวแปร $this->file_allow ด้วย array_flip()       ...

PHP CI MANIA [FQA] : Use of undefined constant กรณีสร้าง INPUT แบบหลายตัวเลือก

กรณีนี้จะเกิดขึ้นกับประเภทฟิลด์ ไม่ต้องกับ คีย์ หรือ value ที่เรากำหนดในการสร้างตัวเลือก เช่น ฟิลด์ เก็บค่าตัวเลข แต่สร้างคีย์/value เป็นตัวอักษร วิธีแก้ไขก็คือ กำหนด Data Type ของฟิลด์ให้ตรงกับที่ต้องการ หรือกำหนดคีย์/value ให้ตรงกับ Data Type ของฟิลด์นั้นๆ กลับสู่หน้าหลัก >> HOME [[ PHP CI MANIA | ลดเวลาเขียนโค้ด เพิ่มเวลาบริหารจัดการได้มากขึ้น | Webpage Generator by CodeIgniter Framework ]]

PHP CI MANIA : ตอนที่ 9 วิธีกำหนดเงื่อนไขค้นหา การแบ่งหน้า และการจัดเรียงลำดับในตารางข้อมูล

ไปที่แท็ป "ตั้งค่า" เลื่อนลงไปใน ส่วนที่ 4 "กำหนดการค้นหา / ประเภทช่องป้อนข้อมูล" กำหนดการค้นหาที่คอลัมน์ "กำหนดตัวเลือก สำหรับค้นหา"       จะปรากฏตัวเลือก 4 รายการ      1.   = ' คำค้นหา '  จะค้นหาแบบ ต้องตรงทุกตัวอักษร เช่นการค้น ไอดี รหัสเอกสาร จำนวนเงิน     2.   LIKE ' % คำค้นหา % '  จะค้นหารายการที่มีคำที่ต้องการ อยู่ในส่วนใดส่วนหนึ่ง ของฟิลด์นั้น     3.   LIKE ' คำค้นหา % '  จะค้นหารายการที่ ขึ้นต้น ด้วยคำที่ค้นหา     4.    LIKE ' % คำค้นหา '  จะค้นหารายการที่ ลงท้าย ด้วยคำที่ค้นหา หลังจากกำหนดฟิลด์ที่ต้องการเรียบร้อย ให้คลิกไปที่แท็ป " Views " ที่แท็ปย่อย " แสดงตารางรายการ " จะมีส่วนที่ให้ตั้งค่า 2 ส่วน คือ 1. ช่องให้กรอกจำนวนที่ต้องการแสดงต่อหน้า 2. ตัวเลือกสำหรับจัดเรียง ซึ่งจะ Default ตามชื่อฟิลด์ที่ใช้ค้นหา สามารถเพิ่มลดได้ตามต้องการ เมื่อกดปุ่มแสดงตัวอย่าง จะได้ผลลัพธ์ดังนี้ หลังจากที่กดสร้างไฟล์จนครบทุกไฟล์...

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

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

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