2017-11-11 470 views
0

我正在开发一个项目,我需要从html下拉列表中选择选项,然后显示从数据库中选择的数据。就像过滤器并显示数据库中的过滤数据一样。 仍然没有工作 我得到错误:从下拉菜单中选择选项

Its just displaying all data from db not by filtered query

<form action="search.php" method="POST"> 
<div class="md-form"> 
<select class="mdb-select" name="state_search" required> 
<option disabled selected>Choose your State</option> 
<option name="state" value="Abia State">Abia State</option> 
<option name="state" value="Adamawa State">Adamawa State</option> 
<option name="state" value="Anambra State">Anambra State</option> 
</select> 
</div> 
<div class="col-lg-4"> 
<div class="md-form"> 
<select class="mdb-select" name="school_search"> 
<option value="" disabled selected>Choose your School</option> 
<option value="Michael Opkara University">Mouau</option> 
<option value="University of Benin">UniBen</option> 
<option value="University of Porthacourt">UniPort</option> 
</select> 
</div> 
<button type="submit" class="btn purple-gradient btn-lg" name="filter">Search <i class="fa fa-paper-plane-o ml-1"></i></button> 
</div> 
</form> 

PHP

 <?php 
$school_search = $connect->real_escape_string($_POST["school_search"]); 
$state_search = $connect->real_escape_string($_POST["state_search"]); 

$query = mysqli_query($connect, "SELECT * FROM roomate WHERE (`state` LIKE '%".$state_search."%') OR (`school` LIKE '%".$school_search."%')") or die(mysql_error()); 
if($query){ 
    while($row = mysqli_fetch_array($query)){ 
    ?> 
    <div class="container" style="padding-top:70px;"> 
    <!--Grid row--> 
     <div class="row"> 
     <?php 
     foreach ($query as $user) {?> 
      <div class="col-lg-4 col-md-12 mb-r"> 
      <!--Featured image--> 
      <div class="overlay hm-white-slight z-depth-1-half mb-2"> 
       <img src="<?php echo $user['room_avatar']?>" class="img-fluid" alt="avatar image"> 
       <a><div class="mask"></div></a> 
      </div> 
      <!--Excerpt--> 
      <a href="" class="pink-text"> 
       <h6> 
       <i class="fa fa-map"></i><strong><?php echo $user['city'];?>, <?php echo $user['state'];?></strong><br> 
       <small><?php echo $user['school'];?></small> 
       </h6> 
      </a> 
      <h4><?php echo $user['type'];?></h4> 
      <p> 
       by <a><strong><?php echo $user['room_name'];?></strong></a> 
       <?php echo $user['created'];?> 
      </p> 
      <label class="badge badge-danger"> non-verified </label> 
      <a href="contact.php"> 
       <label class="badge badge-primary">Report Scam</label> 
      </a> 
      <p><?php echo $user['discription'];?></p> 
      <a class="btn btn-pink btn-rounded">Contact <?php echo $user['room_name'];?></a> 
      </div> 
     <?php 
     } ?> 
     </div>  
    </div> 
    <?php 
    } 
} 
else{ 
    echo(mysql_error()); 
} 

?> 

需要帮助使这项工作了

+0

最新消息你的问题?你得到什么错误? – Jonny

+0

请重新编辑。我试图从数据库中搜索数据并将数据显示为搜索结果。错误:它不能正常显示来自db的所有数据而不是特定的查询。 –

回答

0

select需求相匹配的$_POST可变密钥的名称。

所以在你的情况下,你的<select>需要名称state_search

或更改您的$_POST搜索到$_POST['state']以匹配您的选择名称。

也应该在查询中使用$state_search变量而不是$query

您可能有更多的问题,只是要注意细节。

+0

我有重新编辑请你可以重新检查 –

0

你在echo函数中放置了很多HTML。

<?php 
$school_search = $connect->real_escape_string($_POST["school_search"]); 
$state_search = $connect->real_escape_string($_POST["state_search"]); 

$query = mysqli_query($connect, "SELECT * FROM roomate WHERE (`room_name` LIKE '%".$query."%') OR (`discription` LIKE '%".$query."%') OR (`discription` LIKE '%".$query."%') OR (`type` LIKE '%".$query."%')") or die(mysql_error());; 
$result = mysqli_query($connect, $query); 
if($result){ 
    while($row = mysqli_fetch_array($result)){ 
    ?> 
    <div class="container" style="padding-top:70px;"> 
    <!--Grid row--> 
     <div class="row"> 
     <?php 
     foreach ($query as $user) {?> 
      <div class="col-lg-4 col-md-12 mb-r"> 
      <!--Featured image--> 
      <div class="overlay hm-white-slight z-depth-1-half mb-2"> 
       <img src="<?php echo $user['room_avatar']?>" class="img-fluid" alt="avatar image"> 
       <a><div class="mask"></div></a> 
      </div> 
      <!--Excerpt--> 
      <a href="" class="pink-text"> 
       <h6> 
       <i class="fa fa-map"></i><strong><?php echo $user['city'];?>, <?php echo $user['state'];?></strong><br> 
       <small><?php echo $user['school'];?></small> 
       </h6> 
      </a> 
      <h4><?php echo $user['type'];?></h4> 
      <p> 
       by <a><strong><?php echo $user['room_name'];?></strong></a> 
       <?php echo $user['created'];?> 
      </p> 
      <label class="badge badge-danger"> non-verified </label> 
      <a href="contact.php"> 
       <label class="badge badge-primary">Report Scam</label> 
      </a> 
      <p><?php echo $user['discription'];?></p> 
      <a class="btn btn-pink btn-rounded">Contact <?php echo $user['room_name'];?></a> 
      </div> 
     <?php 
     } ?> 
     </div>  
    </div> 
    <?php 
    } 
} 
else{ 
    echo(mysql_error()); 
} 
+0

我有重新编辑请你可以重新检查 –

+0

如果你echo $ state_search;定义之后,你得到了什么? – OnionStand

+0

没什么只是空白 –