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

HOME > PHP > PHP Forum > search หลายเงื่อนไขอันนี้ ผิดตรงไหนค่ะ รบกวนช่วยด้วยน่ะค่ะ T^T



 

search หลายเงื่อนไขอันนี้ ผิดตรงไหนค่ะ รบกวนช่วยด้วยน่ะค่ะ T^T

 



Topic : 107190

Guest




if(!empty($style_id)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' order by id asc";

}else if(!empty($price)){
$sql = "SELECT * FROM tbl_search WHERE price LIKE '%".$price."%' order by id asc";

}else if(!empty($location)){
$sql = "SELECT * FROM tbl_search WHERE location LIKE '%".$location."%' order by id asc";

}else if(!empty($style_id) && !empty($price)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND price LIKE '%".$price."%' order by id asc";
echo"$sql";

}else if(!empty($style_id) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND location LIKE '%".$location."%' order by id asc";

}else if(!empty($price) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE price LIKE '%".$price."%' AND location LIKE '%".$location."%' order by id asc";

}else if(!empty($style_id) && !empty($price) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND price LIKE '%".$price."%' AND location LIKE '%".$location."%'";

}else{
$sql = "SELECT * FROM tbl_search order by id asc";
}

$sql_q= mysql_query($sql);

?>



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-24 17:11:43 By : gungging302 View : 1808 Reply : 9
 

 

No. 1



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


Code (PHP)
$sql_q= mysql_query($sql) or die (mysql_erorr());


เพิ่มเข้าไปแล้วลองดู error ครับ เพราะผมไม่รู้ว่า ฐานข้อมูลคุณเป็นอย่างไร






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-24 17:14:06 By : Ex-[S]i[L]e[N]t
 


 

No. 2

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : Ex-[S]i[L]e[N]t เมื่อวันที่ 2014-03-24 17:14:06
รายละเอียดของการตอบ ::
...ขอบคุณน่ะค่ะ เด๋ว จะลองเพิ่มไปดูค่ะ _/\_

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-24 17:38:19 By : gungging302
 

 

No. 3

Guest


DATABASE ค่ะ

CREATE TABLE `tbl_search` (
`ID` int(3) NOT NULL auto_increment,
`brand` varchar(50) NOT NULL,
`project` varchar(50) NOT NULL,
`location` varchar(50) NOT NULL,
`price` varchar(10) NOT NULL,
`price_low` float NOT NULL,
`price_high` float NOT NULL,
`link` varchar(30) NOT NULL,
`style` varchar(30) NOT NULL,
`style_id` int(11) NOT NULL,
`pic` tinyblob NOT NULL,
`date` int(3) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=75 ;

--
-- dump ตาราง `tbl_search`
--

INSERT INTO `tbl_search` VALUES (1, 'Lanceo', 'รามคำแหง-วงแหวนฯ (มิสทีน)', 'รามคำแหง', '2', 3, 6, 'www.lalinproperty.com', 'บ้านเดี่ยว', 1, '', 6);
INSERT INTO `tbl_search` VALUES (2, 'Lanceo', 'วงแหวนฯ - พระราม 5 (ศรีประวัติ)', 'วงแหวนฯ', '2', 3.79, 4, 'www.lalinproperty.com', 'บ้านเดี่ยว', 1, '', 5);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-24 17:44:53 By : gungging302
 


 

No. 4



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ไอ้พวก if(!empty ผมไม่แน่ใจในความหมายจริง ๆ ของคำสั่งนี้....

ลองเปลี่ยนเป็นค่าตรง ๆ เช่น

if($style_id != ""){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' order by id asc";
}else if($price != "" ){


แบบนี้ได้ไหม

หรือ อาจใช้ switch case

แต่เงื่อนไขค่ามาหลากหลายแบบนี้ ผมงงว่า ฟอร์มจะเป็นแบบไหน
ทำไมเงือนไขการคนหามันเยอะแยะจัง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-24 18:31:15 By : apisitp
 


 

No. 5

Guest


ได้ลองโค้ดแค่ชุดเดียวหรือยัง ถ้ายังไม่ได้ก็ให้แก้ชุดนี้ให้สำเร็จ แล้วค่อยๆเพิ่มทีละชุด

if(!empty($style_id)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' order by id asc";

}

แล้วตรง echo"$sql"; ผมว่ามันต้องเขียนเป็น echo $sql; หรือเปล่า ผมก็งงๆกับเครื่องหมายอยู่

เครื่องหมาย " กับ ' เป็นอะไรที่ผมงงมาก คือไม่รู้ความหมายการใช้งาน แต่ก็มั่วจนสำเร็จ 555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-24 19:07:15 By : phun
 


 

No. 6

Guest


ส่วนนี้สามารถทำให้มันค้นหาเงือนไขใดเงื่อนไข นึงได้ค่ะ ตรงนี้ใช้การได้แร้ว

Code (PHP)
if(!empty($style_id)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' order by id asc";

}else if(!empty($price)){
$sql = "SELECT * FROM tbl_search WHERE price LIKE '%".$price."%' order by id asc";

}else if(!empty($location)){
$sql = "SELECT * FROM tbl_search WHERE location LIKE '%".$location."%' order by id asc";


แต่ตรงนี้ เมื่อเอา 2 เงื่อนไขมา and กันมันใช้ไม่ได้ค่ะ
}else if(!empty($style_id) && !empty($price)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND price LIKE '%".$price."%' order by id asc";
echo"$sql";

}else if(!empty($style_id) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND location LIKE '%".$location."%' order by id asc";

}else if(!empty($price) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE price LIKE '%".$price."%' AND location LIKE '%".$location."%' order by id asc";

}else if(!empty($style_id) && !empty($price) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND price LIKE '%".$price."%' AND location LIKE '%".$location."%'";

}else{
$sql = "SELECT * FROM tbl_search order by id asc";
}

$sql_q= mysql_query($sql);

?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-25 09:40:32 By : gungging302
 


 

No. 7



โพสกระทู้ ( 4,169 )
บทความ ( 7 )

Hall of Fame 2012

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


ตอบความคิดเห็นที่ : 6 เขียนโดย : gungging302 เมื่อวันที่ 2014-03-25 09:40:32
รายละเอียดของการตอบ ::
จากการเช็คโค๊ดเบื้องต้นนะครับผมยกตัวอย่าง

Code (PHP)
if(!empty($style_id)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' order by id asc";
}else if(!empty($style_id) && !empty($location)){
$sql = "SELECT * FROM tbl_search WHERE style_id LIKE '%".$style_id."%' AND location LIKE '%".$location."%' order by id asc";
}


ในความจริงแล้ว !empty($style_id) && !empty($location) มันไม่ได้เข้าเงื่อนไขที่ 2 นะครับ มันเข้าไปตั้งแต่เงื่อนไขแรกแล้ว เพราะ !empty($style_id) ไม่เท่ากับค่าว่าง เราควรกำหนด if...else ให้ชัดเจน ตัวอย่างที่ถูกต้อง

Code (PHP)
if(!empty($style_id) && empty($location)){

}else if(!empty($style_id) && !empty($location)){

}



แนะนำก่อนการเขียนโค๊ด ทำความเข้าใจเกี่ยวกับการทำให้งานของโค๊ดที่เราวางไว้ให้ชัดเจนก่อน ในขณะเขียน ผมว่าคุณคงจะงงในส่วนที่คุณเขียน ถูกมั้ยครับ เพราะฉะนั้นทำความเข้าใจให้เครียก่อนทำการเขียนทุกครั้ง





ประวัติการแก้ไข
2014-03-25 09:59:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-25 09:57:49 By : Ex-[S]i[L]e[N]t
 


 

No. 8

Guest


ตอบความคิดเห็นที่ : 7 เขียนโดย : Ex-[S]i[L]e[N]t เมื่อวันที่ 2014-03-25 09:57:49
รายละเอียดของการตอบ ::
..ขอบคุณมากๆนะค่ะ ^^

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-25 10:06:21 By : gungging302
 


 

No. 9



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


แล้วถ้าใช้ isset มันจะแตกต่างกันไหม
https://www.thaicreate.com/php/php-isset.html

โพสต์เพื่อเตือนตัวเองให้อ่าน...
https://www.thaicreate.com/community/php-isset-empty.html


ประวัติการแก้ไข
2014-03-25 10:25:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-25 10:23:33 By : apisitp
 

   

ค้นหาข้อมูล


   
 

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