A-AA+then

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

2,713
เป็น 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);

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


1 ความคิดเห็น

ใช้ if(...){
...
}
elseif(...){
..
}
elseif(..){
..
}
.
.
else{
...
}
รูปแบบนี้ครับ ถ้า if ไม่สะดวกก็ลองมาใช้
switch(...){
case  :
.....; break;
case  :
..... ; break;
.
.
default :
..... ; break;
}
1
^