Reputation: 81
I am very very new to PHP and MySQL, so please be nice. I have created a form where the user can search the rate, bedroom, place and the result depends on how the user fills out the form. For example, user fills the fields 2 bedroom rate 4500 and place will selected any location. For this I wrote this:
<?php
require '../connection/config.php';
if(isset($_POST['submit'])) {
$rate=$_POST['rate'];
$bedroom=$_POST['bedroom'];
$place=$_POST['place'];
$sql = "SELECT * FROM villa WHERE rate LIKE '%" . $_POST['rate'] . "%'
AND bedroom LIKE '%" . $_POST['bedroom'] . "%'
AND place LIKE '%" . $_POST['place'] . "%'";
if($place=="any" && $rate==$rate && $bedroom==$price)
{
$sql="select * from villa where rate='$rate' and bedroom='$bedroom'";
}
$result=mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)) {
if($result)
{
echo $row['description'] . "<br />";
?><td><img src="../uploads/post/<?php echo $row['image']; ?>" style='width:100px;'><br><br>
<?php
}
else
echo "error";
}
}
?>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<tr>
<td>rate:</td>
<td><select name="rate" />
<option value="select">select</option>
<option value="125">125</option>
<option value="357">357</option>
<option value="500">500</option></select>
</td>
</tr>
<tr>
<td>bedrooms:</td>
<td><select name="gender" />
<option value="select">select</option>
<option value="3">3</option>
<option value="6">6</option>
<option value="2">2</option>
</select>
</td>
</tr>
<tr>
<td>place:</td>
<td><select name="place" />
<option value="any">any</option>
<option value="kannur">kannur</option>
<option value="calct">calicut</option>
<option value="tly">telicherry</option>
</select>
</td>
</tr>
<td> </td>
<td><input type="submit" name="submit" value="Search" /></td>
</tr>
</form>
</table>
Upvotes: 0
Views: 83
Reputation: 523
$sql="select * from villa where rate='$rate' and bedroom='$bed'";
is wrong cause ur variable is called $bedroom
$sql="select * from villa where rate='$rate' and bedroom='$bedroom'";
<tr>
<td>bedrooms:</td>
<td><select name="gender" />
<option value="select">select</option>
<option value="3">3</option>
<option value="6">6</option>
<option value="2">2</option>
</select>
</td>
</tr>
ur Select NAME is wrong <select name="gender" />
it has to be bedroom as well.
Here ur complete Code.
<?php
require '../connection/config.php';
if(isset($_POST['submit'])) {
$rate=$_POST['rate'];
$bedroom=$_POST['bedroom'];
$place=$_POST['place'];
$sql = "SELECT * FROM villa WHERE rate LIKE '%" . $_POST['rate'] . "%'
AND bedroom LIKE '%" . $_POST['bedroom'] . "%'
AND place LIKE '%" . $_POST['place'] . "%'";
if($place=="any" && $rate==$_POST['rate'] && $bedroom==$_POST['bedroom'])
{
$sql="select * from villa where rate='$rate' and bedroom='$bedroom'";
}
$result=mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($result)) {
if($result)
{
echo $row['description'] . "<br />";
?><td><img src="../uploads/post/<?php echo $row['image']; ?>" style='width:100px;'><br><br><?php
}
else
{
echo "error";
}
}
}
?>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<tr>
<td>rate:</td>
<td><select name="rate" />
<option value="select">select</option>
<option value="125">125</option>
<option value="357">357</option>
<option value="500">500</option></select>
</td>
</tr>
<tr>
<td>bedrooms:</td>
<td><select name="bedroom" />
<option value="select">select</option>
<option value="3">3</option>
<option value="6">6</option>
<option value="2">2</option>
</select>
</td>
</tr>
<tr>
<td>place:</td>
<td><select name="place" />
<option value="any">any</option>
<option value="kannur">kannur</option>
<option value="calct">calicut</option>
<option value="tly">telicherry</option>
</select>
</td>
</tr>
<td> </td>
<td><input type="submit" name="submit" value="Search" /></td>
</tr>
</form>
</table>
Upvotes: 1