Как искать значение обязательного поля и необязательного поля

У меня есть одна форма поиска в этой форме, у меня есть 4 поля формы

  1. имущество
  2. минимальная цена
  3. максимальная цена
  4. место нахождения

Здесь поле свойства только обязательное, остальные 3 поля являются необязательными, теперь я скажу, что мое требование: пользователь выбирает свойство только означает, что я хочу показать подробности (получить совпадающие записи из базы данных) . Предположим, пользователь выбрал свойство, а минимальная цена означает, что я хочу показать подробности о (получить сопоставленные записи из базы данных), то же самое для оставшихся двух файлов, я пытаюсь вот так, но не могу получить, см. здесь мою структуру базы данных, нажмите здесь

$(document).ready(function(){
    $('#buy_btn').click(function(){
        if($('#buyForm').valid()){
            $.ajax({
                type:'POST',
                url :"select_buy_properties.php",
                data: $('form#buyForm').serialize(),
                success: function(data) {
                    console.log(data);
                    
                },
                error:function(exception){
                    alert('Exeption:'+exception);
                }
            });
            return false;
        }
    });
});
<form id="buyForm" method="POST">
    <div class="col-md-11 col-sm-11 col-xs-11" >
        <div class="search1">      
            <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
                <!---->
                <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" data-msg-required="Select Propery" required="" aria-required="true" name="property"> 
                    <option value="">Property</option>
                    <?php
                    $p = mysql_query("SELECT * FROM properties WHERE status !='1'");
                    while($pp = mysql_fetch_assoc($p))
                    {
                        echo '<option value="'.$pp["id"].'">'.$pp["properties"].'</option>';
                    } 
                    ?>
                    
                </select>
                <!---->
            </div> 
            
            <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
                <!---->
                <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="min_price"> 
                    <option value="">Min Price</option>
                    <option value="500000-1000000">5-10 Lacs</option>
                    <option value="1000000-2000000">10-20 Lacs</option>
                    <option value="2000000-3000000">20-30 Lacs</option>
                    <option value="3000000-4000000">30-40 Lacs</option>
                    <option value="4000000-5000000">40-50 Lacs</option>
                    <option value="5000000-6000000">50-60 Lacs</option>
                    <option value="6000000-7000000">60-70 Lacs</option>
                    <option value="7000000-8000000">70-80 Lacs</option>
                    <option value="8000000-9000000">80-90 Lacs</option>
                    <option value="10000000-100000000">100+ Lacs</option>
                    
                </select>
                <!---->
            </div>
            
            <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
                <!---->
                <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="max_price"> 
                    <option value="">Max Price</option>
                    <option value="1000000-2000000">10-20 Lacs</option>
                    <option value="2000000-3000000">20-30 Lacs</option>
                    <option value="3000000-4000000">30-40 Lacs</option>
                    <option value="4000000-5000000">40-50 Lacs</option>
                    <option value="5000000-6000000">50-60 Lacs</option>
                    <option value="6000000-7000000">60-70 Lacs</option>
                    <option value="7000000-8000000">70-80 Lacs</option>
                    <option value="8000000-9000000">80-90 Lacs</option>
                    <option value="10000000-100000000">100+ Lacs</option>
                </select>
                <!---->
            </div>
            
            
            <div class="col-md-4 col-sm-4 col-xs-4" style="padding-left:0px;padding-right: 2px;">
                <!---->
                <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="location"> 
                    <option value="">Location</option>
                    <?php
                    $l = mysql_query("SELECT * FROM location WHERE status !='1'");
                    while($ll = mysql_fetch_assoc($l))
                    {
                        echo '<option value="'.$ll["id"].'">'.$ll["location"].'</option>';
                    } 
                    ?>
                </select>
                <!---->
            </div>
            
            <div class="col-md-2 col-sm-2 col-xs-2" style="padding-left:0px;padding-right: 2px; !important;padding-right:0px !important;">
                <button type="button" class="btn btn-primary btn-lg" style="background-color: #e85700 !important;
                border-color: #e85700 !important; font-size: 14px !important;height: 44px; width:100%; padding-left:11px; " id="buy_btn">SEARCH<!--<span class="glyphicon glyphicon-search" aria-hidden="true"></span>--></button>       
            </div>
        </div>
    </div>
</form>

select_buy_properties.php

include("admin/dbconfig.php");
$property = $_POST['property'];
$min_price = $_POST['min_price'];//5000000-1000000
$min_explode = explode("-",$min_price);
$min1= $min_explode[0] ; //5000000 5 lacs
$min2= $min_explode[1] ; //1000000 10 lacs
$max_price = $_POST['max_price'];

$max_explode = explode("-",$min_price);
$max1= $max_explode[0] ; //10,00,000 ten lacs
$max2= $max_explode[1] ; //20,00,000 twenty lacs

$location = $_POST['location'];
$query="SELECT * FROM add_projects WHERE property ='$property' AND status!=''"; 
if($min_price!='')
{
    $query.="AND ( total_price BETWEEN '600000' AND '700000')";
}
if($max_price!='')
{
    $query.="AND ( total_price BETWEEN '700000' AND '1000000')";
}
if($location!='')
{
    $query.=" AND project_location='$location'";
}
$sql=mysql_query($query);
while($rlt=mysql_fetch_assoc($sql)){
    echo $rlt['project_title'];
}

1 ответ

Я работал над вашим кодом, у него есть фатальные ошибки. Я проверил и исправил ошибки

Попробуйте следующий код: назовите файл как select_buy_properties.php и просто поместите параметры конфигурации базы данных, такие как переменные host, user, password $ host, $ user, $ password find в коде. Имя базы данных может измениться в команде mysql_select_db ('DatabaseName', $ conn), а имена таблиц

add_projects, свойства, местоположение

<html>

<head>
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
    <script>
    $(document).ready(function(){
    $('#buy_btn').click(function(){
        alert('hai')
    if($('#buyForm').valid()){
           $.ajax({
             type:'POST',
             url :"select_buy_properties.php",
             data: $('form#buyForm').serialize(),
             success: function(data) {
             console.log(data);

           },
         error:function(exception){
         alert('Exeption:'+exception);
        }
      });
    return false;
    }
    });
    });
    </script>
    </head>
    <body>

    <?php
    ini_set('display_errors', 1);
    $host ="localhost";
    $user ="root";
    $password="root";

    $conn = mysql_connect($host,$user,$password);
    if(!$conn){
        die('Could not connect: '.mysql_error());
    }


    if (!mysql_select_db('DatabaseName', $conn)) {
        echo 'Could not select database';
        exit;
    }

    $query="";

    $property = '';
    if (isset($_POST['property']) && !empty($_POST['property'])) 
    {
        $property = $_POST['property'];
        $query
        ="SELECT * FROM add_projects WHERE status != '1' AND property = '".$property."'";
    }
    $min_price = '';
    $min1 = '';
    $min2 = '';
    if (isset($_POST['min_price']) && !empty($_POST['min_price'])) 
    {
        $min_price = $_POST['min_price'];
        $min_explode = explode("-",$min_price);
        $min1= $min_explode[0] ; //5000000 5 lacs
        $min2= $min_explode[1] ; //1000000 10 lacs
        if($min_price!='')
        {
         $query.=" AND ( total_price BETWEEN '600000' AND '700000')";
        }
    }

    $max_price = '';
    $max1 = '';
    $max2 = '';
    if (isset($_POST['max_price']) && !empty($_POST['max_price'])) 
    {
        $max_price = $_POST['max_price'];
        $max_explode = explode("-",$max_price);
        $max1= $max_explode[0] ; //10,00,000 ten lacs
        $max2= $max_explode[1] ; //20,00,000 twenty lacs
        if($max_price!='')
        {
          $query.=" AND ( total_price BETWEEN '700000' AND '1000000')";
        }
    }
    $location = '';
    if (isset($_POST['location']) && !empty($_POST['location'])) 
    {
        $location = $_POST['location'];
        if($location!='')
        {
         $query.=" AND project_location='$location'";
        }
    }


    if($query != '')
    {
        $sql=mysql_query($query);

        while($rlt = mysql_fetch_array($sql)){
            echo $rlt['project_title'];
        }
    }
    ?>
    <form id="buyForm" method="POST">
     <div class="col-md-11 col-sm-11 col-xs-11" >
       <div class="search1">                     
        <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
        <!---->
        <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" data-msg-required="Select Propery" required="" aria-required="true" name="property"> 
         <option value="">Property</option>
            <?php
            $p = mysql_query("SELECT * FROM properties WHERE status !='1'");
            while($pp = mysql_fetch_assoc($p))
            {
                echo '<option value="'.$pp["id"].'">'.$pp["properties"].'</option>';
            } 
            ?>

        </select>
        <!---->
        </div> 

      <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
        <!---->
        <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="min_price"> 
                <option value="">Min Price</option>
                <option value="500000-1000000">5-10 Lacs</option>
                <option value="1000000-2000000">10-20 Lacs</option>
                <option value="2000000-3000000">20-30 Lacs</option>
                <option value="3000000-4000000">30-40 Lacs</option>
                <option value="4000000-5000000">40-50 Lacs</option>
                <option value="5000000-6000000">50-60 Lacs</option>
                <option value="6000000-7000000">60-70 Lacs</option>
                <option value="7000000-8000000">70-80 Lacs</option>
                <option value="8000000-9000000">80-90 Lacs</option>
                <option value="10000000-100000000">100+ Lacs</option>

        </select>
        <!---->
        </div>

      <div class="col-md-2 col-sm-3 col-xs-3" style="padding-left:0px;padding-right: 2px;">
        <!---->
        <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="max_price"> 
                <option value="">Max Price</option>
                <option value="1000000-2000000">10-20 Lacs</option>
                <option value="2000000-3000000">20-30 Lacs</option>
                <option value="3000000-4000000">30-40 Lacs</option>
                <option value="4000000-5000000">40-50 Lacs</option>
                <option value="5000000-6000000">50-60 Lacs</option>
                <option value="6000000-7000000">60-70 Lacs</option>
                <option value="7000000-8000000">70-80 Lacs</option>
                <option value="8000000-9000000">80-90 Lacs</option>
                <option value="10000000-100000000">100+ Lacs</option>
        </select>
        <!---->
        </div>


        <div class="col-md-4 col-sm-4 col-xs-4" style="padding-left:0px;padding-right: 2px;">
        <!---->
        <select class="ui search dropdown" style=" width: 100%; height: 45px;padding-left:10px;font-size: 17px !important;    font-family: inherit;" name="location"> 
         <option value="">Location</option>
            <?php
            $l = mysql_query("SELECT * FROM location WHERE status !='1'");
            while($ll = mysql_fetch_assoc($l))
            {
                echo '<option value="'.$ll["id"].'">'.$ll["location"].'</option>';
            } 
            ?>
        </select>
        <!---->
        </div>

     <div class="col-md-2 col-sm-2 col-xs-2" style="padding-left:0px;padding-right: 2px; !important;padding-right:0px !important;">
      <button type="submit" class="btn btn-primary btn-lg" style="background-color: #e85700 !important;
    border-color: #e85700 !important; font-size: 14px !important;height: 44px; width:100%; padding-left:11px; " id="buy_btn">SEARCH<!--<span class="glyphicon glyphicon-search" aria-hidden="true"></span>--></button>                    
    </div>
    </div>
    </div>
    </form>


    </body>
    <?php
        mysql_close($conn);
    ?>

    </html>

Я видел имя таблицы add_projects1 на снимке экрана вашей базы данных. Но вы написали имя таблицы add_projects в коде. Пожалуйста, переименуйте в add_projects в базе данных.

Другие вопросы по тегам