ผมเห็นว่ามันจะ query หลายครั้งเพราะมันอยู่ใน for loop ถ้าผมจะเขียน sql ใหม่ให้วน for loop เฉพาะตอนสร้าง sql โดยให้มันสร้างเงื่อนไขตรง where เพิ่มเข้าไปจาก gen_user.emp_id='$emp_list[$y]' เป็น gen_user.emp_id='$emp_list[0]' or gen_user.emp_id='$emp_list[1]' or .... แล้วส่ง query ไปที่เดียวมันจะเร็วขึ้นมั้ยครับ
ลองใช้ IN แทน = ได้ปะแต่ต้องไป implode ตัวแปร emp_list ให้เป็นสตริงเพื่อมาสร้างเงื่อนไขใน WHRER
SELECT * FROM tbname WHERE emp_id IN ('01','02','03')
แต่ไม่ชัวร์นะครับมันต้องลองดูก่อนว่าระหว่าง ใช้ IN คิวรี่แค่ครั้งเดียว กับการใช้ =กับการคิวรี่หลายๆ อันไหนจะเร็วกว่า
ส่วนตัวผมถ้ามีข้อมูลเยอะจะเลี่ยงการใช้ IN