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,028

HOME > PHP > PHP Forum > search แบบ 3 เงื่อนไขแล้วเมื่อกรอก textkeyword เมื่อไหร่ ส่วนที่เป็น select keyword จะไม่ทำงานครับ



 

search แบบ 3 เงื่อนไขแล้วเมื่อกรอก textkeyword เมื่อไหร่ ส่วนที่เป็น select keyword จะไม่ทำงานครับ

 



Topic : 129823



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



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




นี้คือค่าเริ่มต้นแสดงข้อมูลทั้งหมด
แก้


ค้นหาแบบ1เงื่อนไข
search2if


ค้นหาแบบ2เงื่อนไข
search3if

ค้นหาแบบ3เงื่อนไข
search4if


เมื่อมีการค้นหาเงื่อนไขที่มีการกรอก textkeyword คำสั่งเงื่อนไขชุดที่1และ2ที่เป็นแบบ select keyword จะไม่ทำงานทั้งหมด
แต่หากใช้ค้นหาเฉพาะ select keyword หรือ textkeyword อย่างใดอย่างหนึ่งเพียงอย่างเดียวจะทำงานได้ปกติ


อันนี้เป็นส่วนของ form สำหรับกรอกข้อมูลการค้นหา
Code (PHP)
<form class="form-inline my-2" name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>"  style="margin-right:15px; float:right;">
              <div style="margin-right:15px; float:right;">
                 <div style="margin-right:15px; float:left;">ประเภทบริการ</div>
                    <select name="job_typeKeyword" class="form-control  mr-sm-2 " id="job_typeKeyword" style="float:right;">
                        <option value="<?php echo $_GET["job_typeKeyword"];?>"><?php echo $_GET["job_typeKeyword"];?></option>
                        <option value="">ทุกประเภท</option>
                        <option value="ขายส่ง">ขายส่ง</option>
                        <option value="งานติดตั้ง">งานติดตั้ง</option>
                        <option value="ตัวแทนจำหน่าย">ตัวแทนจำหน่าย</option>
                        <option value="ขอใบเสนอราคา">ขอใบเสนอราคา</option>
                    </select>
              </div> 
              <div style="margin-right:15px; float:right;">
                 <div style="margin-right:15px; float:left;">สถานะ</div>
                    <select name="statusKeyword" class="form-control  mr-sm-2 " id="statusKeyword" style="float:right;">
                        <option value="<?php echo $_GET["statusKeyword"];?>"><?php echo $_GET["statusKeyword"];?></option>
                        <option value="">ทุกสถานะ</option>
                        <option value="รอรับงาน">รอรับงาน</option>
                        <option value="กำลังดำเนินการ">กำลังดำเนินการ</option>
                        <option value="เสร็จสิ้น">เสร็จสิ้น</option>
                    </select>
              </div> 
            <div style="margin-right:15px; float:right;"> 
              <input class="form-control mr-sm-2 " name="txtKeyword" type="text" id="txtKeyword" value="<?php echo $_GET["txtKeyword"];?>" />
             
              <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </div>
     
            </form>




อันนี้จะเป็นส่วนของ SQL Search
Code (PHP)
<!-- Start SQL Search -->
<?php 
$strSQL = "SELECT * FROM job_detail ";
    if($_GET["txtKeyword"] !='' and $_GET["statusKeyword"] =='' and $_GET["job_typeKeyword"] ==''){
      $strSQL .= " WHERE cus_name LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_tel LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_address LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or product_type LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or model LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or detail LIKE '%".$_GET["txtKeyword"]."%' ";

    } else if($_GET["txtKeyword"] !='' and $_GET["statusKeyword"] !='' and $_GET["job_typeKeyword"] ==''){
      $strSQL .= " WHERE cus_name LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_tel LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_address LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or product_type LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or model LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or detail LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " AND status = '".$_GET["statusKeyword"]."' ";

    } else if($_GET["txtKeyword"] !='' and $_GET["statusKeyword"] !='' and $_GET["job_typeKeyword"] !=''){
      $strSQL .= " WHERE cus_name LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_tel LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_address LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or product_type LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or model LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or detail LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " AND status = '".$_GET["statusKeyword"]."' "; 
      $strSQL .= " AND job_type = '".$_GET["job_typeKeyword"]."' "; 

    } else if($_GET["txtKeyword"] !='' and $_GET["statusKeyword"] =='' and $_GET["job_typeKeyword"] !=''){
      $strSQL .= " WHERE cus_name LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_tel LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or cus_address LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or product_type LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or model LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " or detail LIKE '%".$_GET["txtKeyword"]."%' ";
      $strSQL .= " AND job_type = '".$_GET["job_typeKeyword"]."' "; 

    } else if($_GET["txtKeyword"] =='' and $_GET["statusKeyword"] !='' and $_GET["job_typeKeyword"] !=''){
      $strSQL .= " WHERE status = '".$_GET["statusKeyword"]."' "; 
      $strSQL .= " AND job_type = '".$_GET["job_typeKeyword"]."' "; 

    } else if($_GET["txtKeyword"] =='' and $_GET["statusKeyword"] =='' and $_GET["job_typeKeyword"] !=''){
      $strSQL .= " WHERE job_type = '".$_GET["job_typeKeyword"]."' "; 

    } else if($_GET["txtKeyword"] =='' and $_GET["statusKeyword"] !='' and $_GET["job_typeKeyword"] ==''){
      $strSQL .= " WHERE status = '".$_GET["statusKeyword"]."' ";

    }





      $strSQL .= " ORDER BY  job_ID DESC "; 
           echo $strSQL;        
           $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

           

?>
<!-- Start SQL Search -->


โค๊ดทั้งหมดอยู่ในไฟล์ show.php เดียวกัน

ผมลงอดูแบบ2เงื่อนไขก็ติดปัญหาแบบเดียวกันคือเมื่อกรอก textkeyword เมื่อไหร่ ส่วนที่เป็น select keyword จะไม่ทำงานครับ รบกวนพี่ๆช่วยแนะนำทีครับว่าผิดที่ตรงไหน ขอบคุณครับ



Tag : PHP, MySQL, HTML







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-12-29 09:05:47 By : puttisak View : 6713 Reply : 6
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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


ดูเงื่อนไข if else ดีๆครับ แล้ว AND OR ตรงตามเงื่อนไขที่ต้องการมั้ย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-29 10:12:08 By : Pong Thep
 


 

No. 2



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



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


เอาแบบสั้นๆ ก็พอครับ เขียนยาวๆ ปวดหัว ทำงานช้าด้วย
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
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Pong Thep เมื่อวันที่ 2017-12-29 10:12:08
รายละเอียดของการตอบ ::
ผมลอง echo $strSQL; ออกมาดูแล้วคิดว่าเงื่อนไขทั้งหมดตรงตามที่ต้องการแล้วครับ แต่ยังงงว่าทำไมยังไม่ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-29 10:20:28 By : puttisak
 


 

No. 4



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



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


อันนี้เพิ่มวงเล็บ () ไปในเงื่อนไขค้นหาคำ ก็ลองดูแบบไหนตรงกับความต้องการ ผมไม่ได้เทส
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
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : arm8957 เมื่อวันที่ 2017-12-29 10:18:49
รายละเอียดของการตอบ ::
ได้แล้วครับขอบคุณมากครับ ฮ่าๆเค้าเขียนกันนิดเดียวผมเล่นซะยาวเลย



ประวัติการแก้ไข
2017-12-29 10:31:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-29 10:31:22 By : puttisak
 


 

No. 6



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



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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-29 10:35:05 By : arm8957
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : search แบบ 3 เงื่อนไขแล้วเมื่อกรอก textkeyword เมื่อไหร่ ส่วนที่เป็น select keyword จะไม่ทำงานครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่