GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ช่วยดูโค๊ดค้นหาหลายเงื่อนไข ให้หน่อครับ

เป็น search หลายเงื่อนไข สามารถกรอกชื่อโรงแรมบน text box และเลือกค้นหาจาก list menu แต่ละเงื่อนไขได้ครับ

เป็นการ search ค้นหาชื่อโรงแรม ภาค จังหวัด เขตพื้นที่ ประเภทห้อง ราคา และ กิจกรรมพิเศษ ครับ

มี table 1. hotel_infor 2. geography 3. province 4. location 5. room_type 6. room_rate

*เลือกราคาเป็นช่วงของราคาคับ เช่น
10 USD - 50 USD
51 USD - 100 USD
101 USD - 200 USD
201 USD - 300 USD


-------
ฟอร์มหน้าการค้นหา
-------
<form name="frmMain" method="post" action="test_search.php">
<table width="533" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="164" height="31" bgcolor="#FFFF66"><div align="left"><span class="style26">Hotel :</span></div></td>
<td width="181" bgcolor="#FFFF66"><span class="style16">
<label>
<input type="text" name="txtKeyword" id="txtKeyword" />
</label>
</span></td>
<td width="188" bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="40" bgcolor="#FFFF66" class="style26">Geography :</td>
<td bgcolor="#FFFF66"><select id="ddlGeo" name="ddlGeo" onChange = "ListProvince(this.value)">
<option selected value="0">-- Geography--</option>
<?
$strSQL = "SELECT * FROM geography ORDER BY geo_id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["geo_id"];?>"><?=$objResult["geo_name"];?></option>
<?
}
?>
</select></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="40" bgcolor="#FFFF66"><div align="left"><span class="style26">Destination :</span></div></td>
<td bgcolor="#FFFF66"><span class="style16">
<select id="province_id" name="province_id" style="width:120px" onChange = "ListLocation(this.value)"></select>
</span></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="27" bgcolor="#FFFF66"><div align="left"><span class="style26">Location :</span></div></td>
<td bgcolor="#FFFF66"><span class="style16">
<select id="location_id" name="location_id" style="width:200px"></select>
</span></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="33" bgcolor="#FFFF66"><div align="left"><span class="style26">Room type :</span></div></td>
<td bgcolor="#FFFF66"><span class="style16">
<select name="room_id" id="room_id">
<option selected value="0">--Room Type--</option>
<?
$strSQL = "SELECT * FROM room_type ORDER BY room_id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["room_id"];?>"><?=$objResult["room_name"];?></option>
<?
}
?>
</select>
</span></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="35" bgcolor="#FFFF66"><div align="left"><span class="style26">Rate Between :</span></div></td>
<td bgcolor="#FFFF66"><span class="style16">
<select name="room_rate" id="room_rate">
<option value="">--Any--</option>
<option value="10-50">10 USD - 50 USD</option>
<option value="51-100">51 USD - 100 USD</option>
<option value="101-200">101 USD - 200 USD</option>
<option value="201-300">201 USD - 300 USD</option>
<option value="999"> >300 USD</option>
</select>
</span></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td height="28" bgcolor="#FFFF66"><div align="left"><span class="style26">Facibilities :</span></div></td>
<td bgcolor="#FFFF66"><span class="style16">
<select name="hotel_fac" id="hotel_fac">
<option value="">--Select Facibilities--</option>
<option value="beach">beach</option>
<option value="swim">swim</option>
<option value="3"></option>
<option value="4"></option>
<option value="5"></option>
</select>
</span></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFF66">&nbsp;</td>
<td bgcolor="#FFFF66">&nbsp;</td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFF66">&nbsp;</td>
<td bgcolor="#FFFF66">
<div align="left">
<input type="submit" name="button" id="button" value="Search" />
</div></td>
<td bgcolor="#FFFF66">&nbsp;</td>
</tr>
</table>
</form>
--------------------------
หน้าแสดงผลการค้นหา
----------------------------

<?


$txtKeyword=$_POST["txtKeyword"];
$geo_id=$_POST["geo_id"];
$province_id=$_POST["provine_id"];
$location_id=$_POST["location_id"];
$room_id=$_POST["room_id"];
$rate_id=$_POST["rate_id"];
$hotel_fac=$_POST["hotel_fac"];

include 'connect.php';

mysql_query('SET NAMES UTF8');



if($txtKeyword!="")
{

$sql="SELECT hotel_infor.hotel_name, geography.geo_name, province.province_name, location.location_name,
$sql="SELECT * FROM hotel_infor
INNER JOIN geography ON hotel_infor.geo_id=geography.geo_id
INNER JOIN province ON hotel_infor.province_id = province.province_id
INNER JOIN location ON hotel_infor.location_id = location.location_id
INNER JOIN room_type ON hotel_infor.room_id = room_type.room_id
INNER JOIN room_rate ON hotel_infor.rate_id = room_rate.rate_id
WHERE (hotel_infor.hotel_name LIKE'%$txtKeyword%')";


if($geo_id !="")
{
$sql="and hotel_infor.hotel_name LIKE '%$geo_id%'";
}
else
{
$sql="and hotel_infor.geo_id=geography.geo_id";
}
if($location_id !="")
{
$sql="and hotel_infor.hotel_name LIKE '%$location_id%'";
}
else
{
$sql="and hotel_infor.location_id=location.location_id";
}
if($room_id !="")
{
$sql="and hotel_infor.hotel_name LIKE'%$room_id%'";
}
else
{
$sql="and hotel_infor.room_id = room_type.room_id";
}
if($rate_id !="")
{
$sql="and hotel_infor.hotel_name LIKE'%$rate_id%'";
}
else
{
$sql="and hotel_infor.rate_id = room_rate.rate_id";
}
if($hotel_fac !="")
{
$sql="and hotel_infor.hotel_name LIKE '%$hotel_fac%'";
}
else
{
$sql="and hotel_infor.hotel_fac = hotel_infor.hotel_fac";
}
$query = mysql_query ($sql) or die ("$sql") ;
$row = mysql_fetch_array ($query);

?>
ช่วยดูและแก้ไขให้หน่อยนะคับ ติดตรงแค่ส่วนนี้ส่วนเดียว ใกล้ส่งโปรเจคแล้ว ขอบคุณมากๆนะครับ


27 ก.พ. 2553 1 5,989

ใช้ if(...){
...
}
elseif(...){
..
}
elseif(..){
..
}
.
.
else{
...
}
รูปแบบนี้ครับ ถ้า if ไม่สะดวกก็ลองมาใช้
switch(...){
case  :
.....; break;
case  :
..... ; break;
.
.
default :
..... ; break;
}
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^