ฉันมีปัญหาในการรับผลลัพธ์จากฐานข้อมูล ฉันมีคอลัมน์ชื่อ "ภูมิภาค" ซึ่งค่าประกอบด้วยภูมิภาคทั้งหมดที่ผู้ใช้เลือกผ่านแบบฟอร์มสมัครรับจดหมายข่าวพร้อมเครื่องหมายจุลภาค เช่น "ตะวันออกกลาง ยุโรป"
ฉันกำลังสร้างตัวกรองซึ่งจะต้องดึงรายชื่อผู้ใช้ทั้งหมดที่สมัครใช้งานในภูมิภาคใดภูมิภาคหนึ่งหรือหลายภูมิภาค ผู้ใช้สามารถเลือกได้หลายภูมิภาค จากส่วนหน้าฉันกำลังรับภูมิภาคที่เลือกทั้งหมดในรูปแบบ "ทั่วโลก, ตะวันออกกลาง" ซึ่งฉันต้องใช้ในการสืบค้น SQL ของฉันเพื่อค้นหาผู้ใช้ทั้งหมดที่มีทั่วโลกและตะวันออกกลางเป็นภูมิภาคที่เลือก
ฉันพยายามใช้ FIND_IN_SET แต่ก็ไม่ได้ช่วยอะไรจริงๆ ลองด้านล่างแล้ว
$trimmedRegions = rtrim($sortType,', ');
$query = "SELECT * FROM health_alerts_subscribers
WHERE FIND_IN_SET(Regions, $trimmedRegions)";
มีความคิดเห็นใดบ้างที่ฉันจะบรรลุผลตามที่ต้องการได้อย่างไร
FIND_IN_SET
ควรใช้งานได้ คุณสามารถแบ่งปันวิธีการใช้และประสิทธิภาพการทำงานได้หรือไม่? ฉันจะใช้เส้นทางที่ทำให้เป็นมาตรฐาน แต่ข้อมูลที่คั่นด้วยจะทำให้เกิดปัญหาเสมอ - person user3783243   schedule 22.02.2019FIND_IN_SET
สำหรับแต่ละค่าWHERE FIND_IN_SET(Regions, 'Middle East') and FIND_IN_SET(Regions, 'Global')
. ฉันจะสร้างตารางอื่นที่สัมพันธ์กับแต่ละระเบียน - person user3783243   schedule 22.02.2019