Как искать значение обязательного поля и необязательного поля
У меня есть одна форма поиска в этой форме, у меня есть 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 в базе данных.