แก้ปัญหา meta_compare ทำงานไม่ถูกต้องใน WordPress

ใน WordPress เราสามารถสั่ง Query โพสต์ออกมาตามค่าใน custom field ได้ (หรือชื่อในเชิงเทคนิคคือ Post Meta) ด้วยการเพิ่มอาร์กิวเมนต์ meta_query ลงไปในขั้นตอนการคิวรี่  อย่างนี้

$args = array(
	'post_type' => "mytype",
	'meta_query' => array(
		array(
			'key' => "mymeta",
			'value' => "myvalue",
			'compare' => "="
		)
	)
);

$myQuery = new WP_Query($args);

ซึ่งตามตัวอย่างข้างบน  จะเป็นการสั่งคิวรี่โพสต์จากโพสต์ไทป์ mytype โดยจะดึงจากโพสต์ที่มีค่า mymeta เท่ากับ myvalue

การคิวรี่นี้จะไม่เกิดปัญหาใดๆ ตราบใดที่เป็นการคิวรี่ตาม string ธรรมดา  แต่เมื่อใดก็ตามที่ต้องการเปรียบเทียบในลักษณะอื่นที่นอกเหนือจากข้อความธรรมดา (เช่นตัวเลข  หรือวันที่) การคิวรี่ด้วย meta compare ธรรมดาแบบนี้จะมีปัญหาทันที  เนื่องจากตัว WordPress จะมอง custom field เป็น string ธรรมดาๆ เป็นค่าปริยาย

Read More

[เฉพาะกิจ YWC] สิ่งที่ตัวเองสนใจและชอบที่สุด ?

สืบเนื่องมาจากว่า ณ เวลานี้  เหลือเวลาอีกเกือบๆ 23 ชั่วโมงสำหรับการสมัครค่าย YWC11 และด้วยว่าเด็กค่ายนี้โฆษณาค่ายกันเก่งเหลือเกิน (คิดว่าถ้าใช้คำว่า YWC แทนคำว่าครับ/ค่ะได้ คงทำไปแล้ว) เลยตัดสินใจลงสมัครมันดูสักครั้ง

จากเนื้อหาของบล็อกนี้  คงคิดว่าผมน่าจะเหมาะที่จะลงในหมวด Programming มากกว่า  แต่ไม่ล่ะครับ  ผมลง Web Content เพราะตลอดเวลาที่ผมทำบล็อก  ผมมองว่า content is the king มาตลอด  ผมพยายาเขียนสิ่งที่ตัวเองสนใจ  และพยายามเขียนให้ดีกว่าที่มีอยู่  ซึ่งมันก็ส่งผลให้บล้อกผมติดกูเกิลในบางคีย์เวิร์ดเช่นกัน

เอาล่ะ  สำหรับหัวข้อที่ผมต้องเขียนเพื่อส่งเข้าไปยัง YWC นั่นคือหัวข้อ “สิ่งที่ตัวเองสนใจและชอบที่สุด” … คำถามคือ สิ่งตัวเองสนใจและชอบที่สุด มันคืออะไร?

21 ปีกว่าๆ ที่ผมใช้ชีวิตมา  สิ่งที่ผมคิดว่าตัวเองสนใจและชอบที่สุดมีเยอะมากครับ  มันเปลี่ยนแปลงไปเรื่อยๆ  ตลอดเวลาที่ผมโตขึ้น  สิ่งใหม่ๆ มันจะเข้ามาในชีวิตเสมอๆ  และหลายๆ ครั้งมันก็ทำให้ความชอบของเราเปลี่ยนไป  ดังนั้น “สิ่งที่ตัวเองสนใจและชอบที่สุด” น่าจะเป็นคำถามที่ยาก  หรือยากมาก  ที่จะหาคำตอบที่ถูกต้องสำหรับเราจริงๆ ได้  ดังนั้น  ผมจะขอขยายหัวข้อเป็น “สิ่งที่ตัวเองสนใจและชอบที่สุด … ในแต่ละช่วงในชีวิต” ก็แล้วกัน

Read More

เมื่อคำสั่ง mysql_xxx ถูกเลิกใช้ใน PHP 5.5

ในภาษา PHP นั้นมีวิธีเชื่อมต่อกับฐานข้อมูล MySQL อยู่หลายแบบมากครับ  เช่น mysql, mysqli, หรือ pdodb ซึ่งวิธีที่โปรแกรมเมอร์ไทยๆ นิยมและถูกสอนให้ใช้มากที่สุด  คือวิธี mysql (พวกคำสั่ง mysql_connect(), mysql_query(), หรือ mysql_fetch_array() นั่นแหละ)

ปัญหาที่เกิดขึ้นแล้วในตอนนี้คือคำสั่งตระกูล mysql ทั้งหลาย  ถูกประกาศ deprecated (เลิกใช้) ไปเรียบร้อยแล้วใน PHP5.5 แม้ว่าในตอนนี้คำสั่งตระกูล mysql จะยังใช้งานได้ตามปกติ  แต่ก็ยังใช้งานได้เพื่อให้โค๊ดเก่าๆ ทำงานได้เท่านั้น (จะขึ้น deprecated error ถ้าเราเปิดแสดง error เอาไว้) และในอนาคตฟังก์ชันกลุ่มนี้ก็จะถูกถอดออกจาก PHP แน่นอน

สาเหตุการเลิกใช้นั้นหลักๆ เนื่องมาจากคำสั่ง mysql พวกนี้เขียนอยู่บน C Wrapper รุ่นเก่าที่ไม่มีการสนับสนุนแล้ว  หรือพูดง่ายๆ คือคำสั่งกลุ่มนี้โดนลอยแพแล้วนั่นเอง  ทาง PHP ก็แนะนำว่าให้ใช้คำสั่งกลุ่ม mysqli หรือ pdodb ในการเชื่อมต่อกับ MySQL แทน  และคำสั่งชุด MySQLi ก็ทำงานร่วมกับ MySQL 4.1 ขึ้นไปได้ดีกว่าอีกด้วย

Read More

ประสบการณ์กับ elementary OS Luna

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

หลักๆ แล้วผมจะมองไปที่สาย Debian เสียมากกว่า (ถนัดกว่า) แต่ว่าแต่ละตัวก็จะติดเรื่องที่ไม่ชอบเล็กๆ น้อยๆ อยู่ร่ำไป  อย่างเช่น Ubuntu ที่ผมไม่ชอบ Unity หรือ Linux Mint ที่ผมไม่ชอบหน้าตามันเท่าไหร่

ผมค้นๆ คุ้ยๆ ไปมาก็ไปเจอกับ elementary OS เข้าให้  จะให้พูดง่ายๆ มันก็คือ Linux ที่ทำหน้าตาให้เหมือน OSX นั่นแหละ  โดยในตอนแรกที่ผมเจอนั้น  มันยังเป็น Beta 1 อยู่  และเมื่อไม่นานมานี้มันก็ออกรุ่น Stable เรียบร้อย  เลยไม่รอช้าที่จะลองเอามาติดตั้งใช้งานกัน

Read More

แก้ปัญหาโปรแกรมใน Windows 8 เบาเสียงเอง

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

ปัญหาคือหลายครั้งที่วินโดวส์มันไปเบาเสียงโปรแกรมเอง  ทั้งๆ ที่เราไม่ได้ใช้ไมโครโฟนอะไรเลย (แถมมันไม่ดันเสียงกลับมาให้ดังเหมือนเดิมให้อีกต่างหาก)

อย่างไรก็ตาม  เราสามารถปิดฟีเจอร์นี้ของวินโดวส์ได้ครับ  ซึ่งน่าจะทำเหมือนๆ กันทั้งใน Windows 7 และ Windows 8 โดยให้คลิกขวาที่ไอคอนลำโพง  แล้วเลือก Playback devices

Read More