Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > php search หลายเงื่อนไข แต่สามารถจะเลือกจากเงื่อนไขใดก้อได้



 

php search หลายเงื่อนไข แต่สามารถจะเลือกจากเงื่อนไขใดก้อได้

 



Topic : 080834



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์




pic

ถ้าต้องการจะเขียนการค้นหาข้อมูล มีหลายเงือนไขในการค้นหา

แต่เีราสามารถเลือกเงือนไขใดก็ได้ในงานค้นหา เช่น อยากทราบสินค้าในปี พ.ศ. 2555

หรืออยากจะทราบว่า หน่วยงาน ราชการ มีสินค้า อะไรบ้าง

จะต้องเขียนยังไงค่ะ

ขอบคุณค่ะ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-07-10 09:58:30 By : itzalone View : 25087 Reply : 13
 

 

No. 1



โพสกระทู้ ( 29 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook

ใช้ if ครับ
เงื่อนไขมี $a1,$a2,$a3
Code
if(!empty($a1)){
$sql = "SELECT * FROM table WHERE a1 LIKE '%".$a1."%'";
}else if(!empty($a1) && !empty($a2)){
$sql = "SELECT * FROM table WHERE a1 LIKE '%".$a1."%' AND a2 LIKE '%".$a2."%'";
}else if(!empty($a1) && !empty($a3)){
$sql = "SELECT * FROM table WHERE a1 LIKE '%".$a1."%' AND a3 LIKE '%".$a3."%'";
}else if(!empty($a2) && !empty($a3)){
$sql = "SELECT * FROM table WHERE a2 LIKE '%".$a2."%' AND a3 LIKE '%".$a3."%'";
}else{
$sql = "SELECT * FROM table";
}

////result







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:06:20 By : kongoon
 


 

No. 2



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ใช้ LIKE='%%' สิคะ ถ้าไม่มีการส่งค่าเข้ามามันจะเลือกทุกเรคคอร์ดค่ะ คั่นแต่ละ LIKE ด้วย and ได้เลย
แต่ค่าที่ส่งเข้าไปทั้งค่า Year และ หน่วยงาน แนะนำว่าต้องจำเพาะเจาะจงนิดนึงนะคะ ปีไม่น่าห่วงเท่าไหร่แต่หน่วยงาน ถ้าเป็นไปได้ก็สร้างตารางหน่วยงานไว้ต่างหาก แล้วค่าที่ส่งเข้าไปค้นหาก็ใช้เป็นรหัส เช่น 001,002,010 คำสั่ง LIKE มันค่อนข้างยืดหยุ่น ถ้าส่งค่า '1' เข้าไปค้นหา 001,010,011,100,031 ทุกค่าที่มี '1' เป็นองค์ประกอบจะออกมาทั้งหมด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:21:02 By : SuSaya
 

 

No. 3



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่ทราบว่า $a1,$a2,$a3 คือ อะไรค่ะ

รบกวนอธิบายทีค่ะ มือใหม่ค่ะ

ขอบคุณค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:22:36 By : itzalone
 


 

No. 4



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : SuSaya เมื่อวันที่ 2012-07-10 10:21:02
รายละเอียดของการตอบ ::
.หน่วยงาน สร้างไว้อี1 ดาต้าเบสค่ะ ดึงค่าเข้ามาค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:24:10 By : itzalone
 


 

No. 5



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

$a1,$a2,$3 คือค่าที่รับมาจากเงื่อนไขที่ส่งเข้ามาค่ะ เราอาจตั้งให้มัน post หน้าตัวเองหรือ post ไปหน้ารันผลลัพธ์หน้าอื่นอันนี้ก็แล้วแต่
แต่ต้องมีการเขียนคำสั่งรับข้อมูลค่ะ
$a1=$_POST['year'];
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:27:25 By : SuSaya
 


 

No. 6



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
if($_POST)
{
$year = $_POST['year'];//ชื่อที่ตั้งใน form เช่น <input type='text' name='year'>
$agency = $_POST['agency'];
$keyword = $_POST['keyword'];
}
$sql="SELECT * FROM TABLENAME WHERE field1 LIKE '%$year%' AND field2 LIKE '%$agency%' AND field3 LIKE '%$keyword%'"

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:32:58 By : SuSaya
 


 

No. 7



โพสกระทู้ ( 65 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : SuSaya เมื่อวันที่ 2012-07-10 10:32:58
รายละเอียดของการตอบ ::
ถ้าใช้การค้นหาเพียง เงื่อนไขเดียวจะไม่เจอข้อมูลค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 10:50:22 By : itzalone
 


 

No. 8



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

งั้นลองเปลี่ยนจาก and เป็น or ดูนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 11:16:12 By : SuSaya
 


 

No. 9



โพสกระทู้ ( 437 )
บทความ ( 3 )



สถานะออฟไลน์


ลองดูอีกแบบนะครับ

Code (PHP)
$where = '';   // ประกาศตัวแปร
if($a1){
$where  .= " and field1 like '%$a%' ";  // ถ้าเข้าเงื่อนไขไหนก็ จับต่อเข้าไป
}

if($a2){

$where .= " and field2 like '%$a2%' "; // ถ้าเข้าเงื่อนไขไหนก็ จับต่อเข้าไป

}

if($a3){

$where .= " and field3 like '%$a3%' ";  // ถ้าเข้าเงื่อนไขไหนก็ จับต่อเข้าไป

}

$sql = mysql_query(" select * from table where somefield<>'' $where order by field ASC limit 30");   // สร้างคำสั่ง sql ที่เป็นจริงขึ้นมา  select * from table where somefield<>'' จากนั้น ก็เอา $where มาต่อ ถ้าไม่เข้าเงื่อนไขเลย มันก็จะแสดงทั้งหมด แต่ถ้าเข้าเงื่นไขไหน มันก็จะเอามาแค่เงื่อนไขนั้น



ประวัติการแก้ไข
2012-07-10 11:27:17
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-10 11:26:52 By : randOmizE
 


 

No. 10

Guest


ตอบความคิดเห็นที่ : 9 เขียนโดย : randOmizE เมื่อวันที่ 2012-07-10 11:26:52
รายละเอียดของการตอบ ::
สามารถทำ if ได้หลายตัวเลยเหรอครับ
ไม่ต้องให้เป็ฯ else if ใช่ป่าวครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-03 16:23:01 By : ณัฐชนน ศรีเปล่ง
 


 

No. 11



โพสกระทู้ ( 1,666 )
บทความ ( 0 )



สถานะออฟไลน์


เป็นผมผมจะใช้วิธีเสียบตัวแปรเข้า

$a=ปี
$b=หน่วยงาน

if ($a!="" ) { $a="AND year='$year' "; }
if ($b!="" ) { $b="AND หน่วยงาน='$หน่วยงาน' "; }

$SQL= "SELECT * FROM table WHERE search='$search' $a $b";


ถ้าไม่มีปีหรือหน่วยงานเข้ามา ออกหมดตามคำต้น ถ้ามีอะไรเข้ามาก็ออกตามที่เข้ามา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-03 16:46:17 By : meannerss
 


 

No. 12

Guest


ตอบความคิดเห็นที่ : 11 เขียนโดย : meannerss เมื่อวันที่ 2015-02-03 16:46:17
รายละเอียดของการตอบ ::
ขอบคุณที่อธิบายเพิ่มครับแต่งง ตรงมีภาษาไทยด้วยนี่แหละ ขอแบบ code php ที่ใช้ได้จริงได้ป่าวครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-03 19:03:25 By : ณัฐชนน ศรีเปล่ง
 


 

No. 13

Guest


ได้ละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-02 15:55:02 By : ืืเนย
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php search หลายเงื่อนไข แต่สามารถจะเลือกจากเงื่อนไขใดก้อได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่