มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

เกี่ยวกับ ปัญหาการใช้งาน การติดตั้ง ฐานข้อมูล MySql Oracle MSSQL ect...
การเขียน คำสั่ง SQL เพื่อดึกข้อมูล บอร์ดนี้ควรระบุโครงสร้างตารางของท่านในคำถามด้วยนะ

Moderator: mindphp

User avatar
futurebis
PHP Jr. Member
PHP Jr. Member
Posts: 18
Joined: 15/02/2010 10:12 am
Contact:

มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

Post by futurebis »

มี select drop box หลายตัว ตามตัวอย่างจะมี 4 ตัว คื อ A, B, C, D จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ ไม่ต้องใช้ if else ซ้อนกันมากๆครับ ตอนนี้คือว่า ผมต้องเช็คดักทุกกรณีที่ลูกค้าจะมีโอกาสเลือก ประมาณนี้ครับ
if (A = 1 and B=0 and C=0 and D=0 ){
$sql_main = "SELECT * FROM tb_main WHERE A = '1' ORDER BY main_id";
}else if{ (A = 1 and B=1 and C=0 and D=0 ){
$sql_main = "SELECT * FROM tb_main WHERE A = '1' AND B='1' ORDER BY main_id";
}else if{ (A = 1 and B=1 and C=1 and D=0 ){
$sql_main = "SELECT * FROM tb_main WHERE A = '1' AND B='1' AND C='1' ORDER BY main_id";
}else if{
แล้วก็เช็คไปให้ครบทุกกรณีที่ ลูกค้าจะมีโอกาสเลือกได้ ซึ่งมันจะเยอะมาก
}
.......
.......
พอออกมาก็ค่อยสั่งให้ query
$result_main = mysql_query($sql_main);
Attachments
mindphp.jpg
mindphp.jpg (24.46 KiB) Viewed 1280 times
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 28523
Joined: 31/03/2014 10:02 am
Contact:

Re: มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

Post by thatsawan »

งงค่ะ
ทำเหมือน เลือก จังหวัด เเล้วกรอง อำเภอตามจังหวัดนั้นๆ หรือค่ะ
User avatar
futurebis
PHP Jr. Member
PHP Jr. Member
Posts: 18
Joined: 15/02/2010 10:12 am
Contact:

Re: มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

Post by futurebis »

ไม่ใช่ครับ คือ ถ้าผู้ชมเว็บเลือกแสดงข้อมูลที่ตัว A คือ โครงการบ้าน อย่างเดียว ระบบ ก็จะค้นหาและแสดงโครงการตามที่ผู้ชมเลือก
แต่ถ้า ผู้ชมเว็บเลือกแสดงข้อมูลที่ตัว A คือ โครงการบ้าน และ B คือ แบบบ้านด้วย ระบบ ก็จะค้นหาและแสดงโครงการและแบบบ้านตามที่ผู้ชมเลือก
แต่ถ้า ผู้ชมเว็บเลือกแสดงข้อมูลที่ตัว A คือ โครงการบ้าน และ B คือ แบบบ้าน และ C คือโฃนด้วย ระบบ ก็จะค้นหาและแสดงโครงการและแบบบ้านและโซนตามที่ผู้ชมเลือก และกรณีอื่นๆอีกที่ผู้ชมจะมีโอกาสเลือกครับ คือ ผมต้องตั้ง if ดัก ทุกกรณีที่ผู้ชมจะมีโอกาสเลือก ก็เลยอยากทราบว่ามีวิธีดักจับเงื่อนอย่างไรครับให้มันสั้นกระชับ
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 28523
Joined: 31/03/2014 10:02 am
Contact:

Re: มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

Post by thatsawan »

ตอนรับค่าก้อมาเช็คเงื่อนไข ที่จะ Where เก็บเป็น array

Code: Select all

  if (($search_aa != '0')) {
            $a_search[] = " w.sssss = " . (int) ($search_aa);
        }

  if (($search_bb != '0')) {
            $a_search[] = " w.xxxxx = " . (int) ($search_bb);
        }
เเล้วก้อมาเเตก array

Code: Select all

$xx =  implode(' AND', $a_search); 

Code: Select all

$sql_main = "SELECT * FROM tb_main WHERE $xx";
  
ลองดูว่าจะได้มั้ยนะ
User avatar
futurebis
PHP Jr. Member
PHP Jr. Member
Posts: 18
Joined: 15/02/2010 10:12 am
Contact:

Re: มี select drop box หลายตัว จะมีวิธีตั้งค่าอย่างไรให้มันเช็คได้สั้นๆ

Post by futurebis »

ขอบคุณครับ ผมนำโค๊ดที่คุณ thatsawan ไปปรับอีกนิดนึงใช้ได้แล้วครับ ถ้าไม่ได้แนวทางแบบนี้ คงต้องเช็คเงื่อนไขกันยาวแน่ๆ
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “SQL - Database”

Who is online

Users browsing this forum: No registered users and 6 guests