ฉันกำลังอัปเดตเว็บไซต์ควอดคอปเตอร์และปรับปรุงระบบการค้นหาของฉัน ขณะนี้ผู้ใช้สามารถค้นหาด้วยรุ่น quadcopter เท่านั้น ตอนนี้ฉันกำลังปรับปรุงสิ่งนี้เล็กน้อยเพื่อให้ผู้ใช้สามารถค้นหาแบรนด์หรือรุ่นได้
ฉันต้องการให้ผู้ใช้สามารถพิมพ์แบรนด์และรุ่นลงในช่องค้นหา และอนุญาตให้มีการตรวจสอบทั้งสองคำระหว่างบันทึกในฐานข้อมูล
โดยพื้นฐานแล้วสมมติว่าแบรนด์ของ quadcopter คือ "DJI" และรุ่นคือ "Phantom" ในฐานข้อมูลของฉันอันหนึ่งจะถูกเก็บไว้ภายใต้แบรนด์ 'คอลัมน์' และอีกอันภายใต้ 'รุ่น' ฉันต้องการให้ผู้ใช้สามารถพิมพ์ 'dji phantom' และให้โมเดลปรากฏขึ้น
หากเป็นไปไม่ได้ มีวิธีใดที่จะทำให้ผลลัพธ์แสดงแม้ว่าจะไม่แม่นยำหรือไม่? ด้วยช่องค้นหาของฉันในขณะนี้ คุณสามารถค้นหาควอดคอปเตอร์ได้ตราบใดที่มีสตริงทั้งหมด ตัวอย่างเช่น 'plant' จะแสดง "DJI Phantom" ดังนั้น 'anton' ก็จะแสดง
นี่คือคำถามของฉัน:
$search = $_GET['search'];
$search_list = mysqli_query($conn,"SELECT * FROM quads WHERE model LIKE '%$search%' OR brand LIKE '%$search%'");
ป.ล. (ฉันรู้ว่ามันเสี่ยงต่อการฉีดยา นี่คือสิ่งที่ฉันกำลังแก้ไขในสัปดาห์นี้ ขอบคุณ)
DJI Phantom
จะไม่จับคู่รุ่นหรือแบรนด์ คุณสามารถแยกข้อความค้นหาแล้วลองดูว่ามีการจับคู่ใน DB หรือไม่ - person Maximus2012   schedule 14.11.2016CONCAT
เพื่อเพิ่มเงื่อนไขการค้นหาอื่นเพิ่มเติมจากที่คุณมีอยู่แล้ว ? stackoverflow.com/questions/303679/ แม้ว่าจะใช้งานได้ แต่จะใช้งานได้เฉพาะบางกรณีเมื่อผู้ใช้ป้อนบางอย่างเช่นDJI Phantom
แต่นั่นควรเป็นการเริ่มต้นที่ดี - person Maximus2012   schedule 14.11.2016CONCAT
แต่การวางงานในส่วนแทรกแทนที่จะเลือกคือการสร้างคอลัมน์search_string
ที่มีทั้งยี่ห้อและรุ่น และอาจเป็นหมายเลขซีเรียล บางครั้งฉันได้เห็นการเพิ่มการแข่งขันบางส่วนที่คาดหวังไว้เช่นกัน จากนั้น คุณยังสามารถexplode(' ', $search)
ได้หากคุณต้องการทดสอบโทเค็นในสตริงการค้นหาอย่างอิสระ - person Jerry   schedule 14.11.2016