 |
search แบบ 3 เงื่อนไขแล้วเมื่อกรอก textkeyword เมื่อไหร่ ส่วนที่เป็น select keyword จะไม่ทำงานครับ |
|
 |
|
|
 |
 |
|
ดูเงื่อนไข if else ดีๆครับ แล้ว AND OR ตรงตามเงื่อนไขที่ต้องการมั้ย
|
 |
 |
 |
 |
Date :
2017-12-29 10:12:08 |
By :
Pong Thep |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เอาแบบสั้นๆ ก็พอครับ เขียนยาวๆ ปวดหัว ทำงานช้าด้วย
Code (PHP)
$sql = " SELECT * FROM job_detail WHERE 1 ";
$sql .= !empty($_GET['txtKeyword']) ? " AND CONCAT(cus_name,cus_tel,cus_address,product_type,model,detail) LIKE '%".$_GET["txtKeyword"]."%' " : "";
$sql .= !empty($_GET['statusKeyword']) ? " AND status = '".$_GET["statusKeyword"]."' " : "";
$sql .= !empty($_GET['job_typeKeyword']) ? " AND job_type = '".$_GET["job_typeKeyword"]."' " : "";
$sql .= " ORDER BY job_ID DESC ";
$objQuery = mysql_query($sql) or die ("Error Query [".$strSQL."]");
ปล. หากฟังก์ชั่น CONCAT() ได้ผลลัพธ์ไม่ถูกต้อง ก็เปลี่ยนไปใช้ OR แบบที่คุณเขียนใน if() แรกเอานะครับ
|
 |
 |
 |
 |
Date :
2017-12-29 10:18:49 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อันนี้เพิ่มวงเล็บ () ไปในเงื่อนไขค้นหาคำ ก็ลองดูแบบไหนตรงกับความต้องการ ผมไม่ได้เทส
Code (PHP)
$sql = " SELECT * FROM job_detail WHERE 1 ";
$sql .= !empty($_GET['txtKeyword']) ? " AND (CONCAT(cus_name,cus_tel,cus_address,product_type,model,detail) LIKE '%".$_GET["txtKeyword"]."%' ) " : "";
$sql .= !empty($_GET['statusKeyword']) ? " AND status = '".$_GET["statusKeyword"]."' " : "";
$sql .= !empty($_GET['job_typeKeyword']) ? " AND job_type = '".$_GET["job_typeKeyword"]."' " : "";
$sql .= " ORDER BY job_ID DESC ";
$objQuery = mysql_query($sql) or die ("Error Query [".$strSQL."]");
|
 |
 |
 |
 |
Date :
2017-12-29 10:26:27 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
 
|
 |
 |
 |
 |
Date :
2017-12-29 10:35:05 |
By :
arm8957 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|