【问题标题】:When I choose 'any' option from select type and click submit, I want to display all the data from MySQL database当我从选择类型中选择“任何”选项并单击提交时,我想显示 MySQL 数据库中的所有数据
【发布时间】:2015-06-25 06:13:30
【问题描述】:

当我选择“任何”选项时,我想显示 MySQL 数据库中表中的所有数据。我不知道该怎么做。请看下面的代码。

<form method="post" action="listing_grid.php">
            <div class="row">

                <div class="col-lg-4 col-md-4 col-sm-6">
                    <div class="formBlock select">
                    <label for="location">Property for: </label><br/>
                     <select name="property_for" id="beds" class="formDropdown">
                        <option value="Property for sale">Property for sale</option>
                        <option value="Property for rent">Property for rent</option>
                     </select>
                    </div>
                </div>
                <div class="col-lg-4 col-md-4 col-sm-6">
                    <div class="formBlock select">
                    <label for="propertyType">Property Type</label><br/>
                    <select name="property_type" id="propertyType" class="formDropdown">
                        <option value="any">Any</option>
                        <option value="Houses">Houses</option>
                        <option value="Apartments">Apartments</option>
                        <option value="Bungalows">Bungalows</option>
                        <option value="Land">Land</option>
                        <option value="Commercial property">Commercial property</option>

                    </select>
                    </div>
                </div>

                <div class="col-lg-4 col-md-4 col-sm-6">
                    <div class="formBlock">
                        <label for="price-min">Price Range</label><br/>
                        <div style="float:right; margin-top:-25px;">
                            <div class="priceInput"><input type="text" name="price_min" id="price-min" class="priceInput" /></div>
                            <span style="float:left; margin-right:10px; margin-left:10px;">-</span>
                            <div class="priceInput"><input type="text" name="price_max" id="price-max" class="priceInput" /></div>
                        </div><br/>
                        <div class="priceSlider"></div>
                        <div class="priceSliderLabel"><span>0</span><span style="float:right;">800,000</span></div>
                    </div>
                </div>
                <div class="col-lg-4 col-md-4 col-sm-6">
                    <div class="formBlock select">
                    <label for="location">Location</label><br/>
                    <input id="tags" type="text" name="location">
                    </div>
                </div>
                <div class="col-lg-3 col-md-3 col-sm-6">
                    <div class="formBlock select">
                    <label for="beds">Beds</label><br/>
                    <select name="beds" id="beds" class="formDropdown">
                        <option value="any">Any</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                    </select>
                    </div>
                </div>
                <div class="col-lg-3 col-md-3 col-sm-6">
                    <div class="formBlock select">
                    <label for="baths">Baths</label><br/>
                    <select name="baths" id="baths" class="formDropdown">
                        <option value="any">Any</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                    </select>
                    </div>
                </div>
                 <div class="col-lg-3 col-md-3 col-sm-6">
                    <div class="formBlock select">
                     <label for="area2">Search radius</label><br/>
                    <select name="area" id="area2" class="formDropdown">
                        <option value="any">Any</option>
                        <option value="0.25">within 1/4 mile</option>
                        <option value="0.5">within 1/2 mile</option>
                        <option value="1">within 1 mile</option>
                        <option value="3">within 3 miles</option>
                        <option value="5">within 5 miles</option>
                        <option value="10">within 10 miles</option>
                        <option value="20">within 20 miles</option>
                        <option value="30">within 30 miles</option>
                        <option value="40">within 40 miles</option>
                    </select>
                    </div>
                </div>



                <div class="col-lg-4 col-md-4 col-sm-6">
                    <div class="formBlock">
                        <label for="price-min">Size Range (Square Feet)</label><br/>
                        <div style="float:right; margin-top:-25px;">
                            <div class="priceInput"><input type="text" name="size_min" id="price-min1" class="priceInput" /></div>
                            <span style="float:left; margin-right:10px; margin-left:10px;">-</span>
                            <div class="priceInput"><input type="text" name="size_max" id="price-max1" class="priceInput" /></div>
                        </div><br/>
                        <div class="priceSlider1"></div>
                        <div class="priceSliderLabel"><span>0</span><span style="float:right;">80,000</span></div>
                    </div>
                </div>



                <div class="col-lg-3 col-md-3 col-sm-6">
                    <div class="formBlock">
                        <input class="buttonColor" type="submit" name="find_property" value="FIND PROPERTIES" style="margin-top:24px;">
                    </div>
                </div>
                <div style="clear:both;"></div>
            </div>
        </form>

在这里,当我选择“任何”选项时,我想显示表中的所有数据...

我正在使用如下查询

$property_for=$_POST['property_for'];
            $property_type=$_POST['property_type'];
            $price_min=$_POST['price_min'];
            $price_max=$_POST['price_max'];
            $location=$_POST['location'];
            $beds=$_POST['beds'];
            $baths=$_POST['baths'];
            $area=$_POST['area'];
            $size_min=$_POST['size_min'];
            $size_max = $_POST['size_max'];
            $property_listing_for_sale = "";
            $sql = mysqli_query($con, "SELECT * FROM properties WHERE category = '$property_for'  AND bed_rooms = '$beds' AND bath_rooms = '$baths'  ORDER BY date_added DESC") or die(mysqli_error($con));

我是新手..所以帮助我..提前谢谢..

【问题讨论】:

标签: php mysql


【解决方案1】:

您应该使用动态查询:

$baths = $_POST['baths'];
if ($baths == '*') {
   $query = "select * from properties ";
} else {
   $query = "select * from properties where baths = '$baths'"
}

您还应该了解准备好的语句。

第二种方法是将您的选项值更改为%

<option value="Any">

然后您可以使用以下查询:

select * from properties where baths like '$baths' 

【讨论】:

  • 感谢您的回复但是当用户选择“任何”选项时,我想显示很多类似的内容。那时脚本会很大。有没有其他方法可以减少脚本大小。示例SELECT * FROM properties WHERE category = '$property_for' AND location = '$location' AND bed_rooms = '$beds' AND bath_rooms = '$baths' ORDER BY date_added DESC 这是我的实际查询。那么当我像上面那样使用时,我该如何使用呢?非常感谢...
  • 也可以使用&lt;option value="%"&gt;和sql语句select * from properties where baths like '$baths' "
  • 当我使用 '%' 这个符号时,所有值都不会被取出。
  • @sivaramkundadam 您已将查询更改为like
  • @Jens 你太棒了......非常感谢......这就是我想要的......再次感谢你......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多