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 > การค้นหาแบบหลายเงื่อนไข ทำยังไงก็ค้นหาไม่เจอ ท่านที่ผ่านประสบการณ์มาชี้แนะด้วยครับ



 

การค้นหาแบบหลายเงื่อนไข ทำยังไงก็ค้นหาไม่เจอ ท่านที่ผ่านประสบการณ์มาชี้แนะด้วยครับ

 



Topic : 098993



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



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




ไม่รู้ทำอะไรผิดตรงไหนรึป่าว ที่ต้องการคือ ถ้าผู้หาข้อมูลไม่เลือกอะไร ข้อมูลทั้งหมดจะถูกดึงมาแสดง แต่ถ้าเลือกอย่างน้อย 1 ตัวเลือกก็จะค้นหาตามสิ่งที่ค้น ผมทำผิดหรือเปล่าครับเป็นครึ่งอาทิตย์แล้วสำหรับการค้นหา ท่านใดรู้หรือมีตัวอย่างใกล้เคียงโปรดชี้แนะด้วยครับ

ส่วนฟอร์มรับข้อมูล
Code (PHP)
<form name="search" method="post" action="search.php">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <select name="type">
      	<option value="" selected="selected">--- ประเภท Type ---</option>
        <option value="hotel">โรงแรม  Hotel</option>
        <option value="resort">รีสอร์ท Resort</option>
        <option value="condo">คอนโด Condo</option>
        <option value="land">ที่ดิน Land</option>
    </select>
    <select name="location">
    	<option value="" selected="selected">--- พื้นที่ Area ---</option>
        <option value="12">บางเสร่  Bang Sare</option>
        <option value="15">สัตหีบ Sattahip</option>
        <option value="17">นาเกลือ Naklua</option>
    	<option value="18">ชัยพฤกษ์ 2 พัทยา Chaiyapruek 2 Pattaya</option>
        <option value="20">พัทยาใต้ South pattaya</option>
        <option value="29">บ้านอำเภอ Baan Amphur</option>
        <option value="49">พัทยาเหนือ North Pattaya</option>
        <option value="102">พัทยาฝั่งตะวันออก East Pattaya</option>
        <option value="101">พัทยากลาง  Central Pattaya</option>
        <option value="99">จอมเทียน  Jomtien</option>
        <option value="100">นาจอมเทีย  Na Jomtien</option>
    </select>
    <select name="for">
        <option value="" selected="selected">-- สำหรับ For --</option>
        <option value="sell">ขาย Sell</option>
        <option value="rent">เช่า Rent</option>
        <option value="all">เช่าหรือขาย All</option>
    </select>
    <select name="price">
        	<option value="price between 1 and 10000000000000000000 " selected="selected">--- ราคา Price ---</option>
            <option value="">--- For rent ---</option>
            <option value="">All</option>
            <option value="rent between 0 and 5000 ">Under 5,000</option>
            <option value="rent between 5000 and 10000 ">5,000-10,000</option>
            <option value="rent between 10000 and 20000 ">10,000-20,000</option>
            <option value="rent between 20000 and 40000 ">20,000-40,000</option>
            <option value="rent between 40000 and 10000000000000000000 ">Over 40,000</option>
            <option value="">--- For sale ---</option>
            <option value="">All</option>
            <option value="price between  0  and  1000000 ">Under 1,000,000</option>
            <option value="price between 1000000 and 2000000 ">1,000,000-2,000,000</option>
            <option value="price between 2000000 and 3000000 ">2,000,000-3,000,000</option>
            <option value="price between 3000000 and 4000000 ">3,000,000-4,000,000</option>
            <option value="price between 4000000 and 5000000 ">4,000,000-5,000,000</option>
            <option value="price between 5000000 and 6000000 ">5,000,000-6,000,000</option>
            <option value="price between 6000000 and 7000000 ">6,000,000-7,000,000</option>
            <option value="price between 7000000 and 8000000 ">7,000,000-8,000,000</option>
            <option value="price between 8000000 and 9000000 ">8,000,000-9,000,000</option>
            <option value="price between 9000000 and 10000000 ">9,000,000-10,000,000</option>
            <option value="price between 10000000 and 10000000000000000000 ">Over 10,000,000</option>
    </select>
    <input type="submit" value="Search" style="width:97px;"/>
    </td>
  </tr>
</table>
</form>


ส่วนของหน้าการรับค่าเพื่อค้นหา
Code (PHP)
<?
//กำหนดแถวและคอลัมน์
$num_col=1;
$num_row=1;
//เรคคอร์ดที่สิ้นสุด
$page_size=$num_col*$num_row;
//กำหนดค่าเริ่มต้น
$page=isset($_REQUEST['page'])?$_REQUEST['page']:1;
$page=$page-1;
$keyword=isset($_POST['keyword'])?$_POST['keyword']:'';
$type=isset($_POST['type'])?$_POST['type']:'';
$location=isset($_POST['location'])?$_POST['location']:'';
$for=isset($_POST['for'])?$_POST['for']:'';
$price=isset($_POST['price'])?$_POST['price']:'';

//หาจำนวนหน้า WHERE product_id LIKE '%$keyword%'
$sql="SELECT COUNT(*) FROM product ";
$sql.=" WHERE ($price) ";
if(!empty($_POST['type'])){$sql.=" and type='".$_POST['type']."' ";};
if(!empty($_POST['location'])){$sql.=" and location='".$_POST['location']."' ";};
if(!empty($_POST['for'])){$sql.=" and product_for='".$_POST['for']."' ";};
/*if(!empty($_REQUEST['price'])){$sql.=" ".$price." ";};*/

$result=mysql_query($sql)or die(mysql_error());
$row=mysql_fetch_array($result);
$num=$row['COUNT(*)'];
//หมายเลขหน้า
$num_page=ceil($num/$page_size);
//เรคคอร์ดที่เริ่ม
$start_record=$page*$page_size;
//เลือกข้อมูล product_id LIKE '%$keyword%' or
$sql="SELECT * FROM product WHERE display='1' and success='0' ";
$sql.=" and ($price) ";
if(!empty($_POST['type'])){$sql.=" and type='".$_POST['type']."' ";};
if(!empty($_POST['location'])){$sql.=" and location='".$_POST['location']."' ";};
if(!empty($_POST['for'])){$sql.=" and product_for='".$_POST['for']."' ";};
/*if(!empty($_REQUEST['price'])){$sql.=" ".$price." ";}; */
$sql.=" ORDER BY product_id desc LIMIT $start_record, $page_size";
$result=mysql_query($sql)or die(mysql_error());
$num=mysql_num_rows($result);
?>



ส่วนของฐานข้อมูลที่เก็บข้อมูลที่จะค้นหา
Code (SQL)
-- 
-- โครงสร้างตาราง `product`
-- 

CREATE TABLE `product` (
  `product_id` int(11) unsigned NOT NULL auto_increment,
  `name` text NOT NULL,
  `email` text NOT NULL,
  `tel` text NOT NULL,
  `comment` text NOT NULL,
  `type` text NOT NULL,
  `product_for` text NOT NULL,
  `village` text NOT NULL,
  `location` text NOT NULL,
  `price` int(11) NOT NULL,
  `rent` int(11) NOT NULL,
  `subject` text NOT NULL,
  `detail` text NOT NULL,
  `display` tinyint(4) NOT NULL default '0',
  `status` tinyint(1) NOT NULL default '0',
  `date` date NOT NULL,
  `view` int(11) NOT NULL default '0',
  `read_product` tinyint(4) NOT NULL default '0',
  `success` tinyint(4) NOT NULL default '0',
  `normal_price` int(11) NOT NULL,
  `normal_rent` int(11) NOT NULL,
  PRIMARY KEY  (`product_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=51 ;

-- 
-- dump ตาราง `product`
-- 

INSERT INTO `product` VALUES (45, 'ชื่อคนโพสต์', '[email protected]', '0999999999', 'คอมเม้นต์', 'resort', 'sell', '555', '29', 250000000, 0, 'หัวข้อ55', 'เนื้อที่ 1 ไร่, ห้อง 32 ตรม. 43 ห้อง,  ค่าเช่าไม่รวมอาหารเช้าคืนล่ะ low.880- hight1,200บาท. ห้อง 65 ตรว.1ห้องนอน 1 ห้องน้ำ 6 ห้อง 1,790/คืน 2ห้องนอน2ห้องน้ำ 2,890/คืน55', 1, 1, '2013-08-07', 140, 1, 0, 20000000, 0);


เฉพาะการค้นหาทำมายเกือบครึ่งอาทิตย์ละครับ ไม่รู้มันเป็นที่อะไร



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-08-12 12:49:13 By : pengbuts View : 1576 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Code (PHP)
echo $sql;


เอา SQL ออกมาดูครับ หรือไม่เอาไปทดสอบใน phpMyAdmin ครับ

Code (PHP)
<?php
	$strSQL = "SELECT * FROM table WHERE 1 ";

	if($_POST["txt1"] != "")
	{
		$strSQL .= " AND F1 = '".$_POST["txt1"]."' ";
	}

	if($_POST["txt2"] != "")
	{
		$strSQL .= " AND F2 = '".$_POST["txt2"]."' ";
	}
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-13 06:30:17 By : mr.win
 

   

ค้นหาข้อมูล


   
 

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