user6085744
user6085744

Reputation: 81

search code for multiple field using php

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>&nbsp;</td>
            <td><input type="submit" name="submit" value="Search" /></td>
        </tr>
    </form>
</table>

Upvotes: 0

Views: 83

Answers (1)

KikiTheOne
KikiTheOne

Reputation: 523

#1

$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'";

#2

<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>&nbsp;</td>
            <td><input type="submit" name="submit" value="Search" /></td>
        </tr>
    </form>
</table>

Upvotes: 1

Related Questions