2017-11-11 3 views
0

Ich arbeite an einem Projekt Ich muss Option aus HTML-Dropdown-Liste auswählen und dann die Daten aus der Datenbank ausgewählt anzeigen. Genauso wie Filter und Anzeige der gefilterten Daten aus der Datenbank. immer noch nicht funktioniert Am immer Fehler:php Wählen Sie Option aus Dropdown

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()); 
} 

?> 

Benötigen Sie Hilfe bei dieser Arbeit die Ausfertigung

+0

was ist Ihre Frage? Welche Fehler bekommst du? – Jonny

+0

bitte überprüfen Sie bearbeitet. Ich versuche, Daten als Suche aus db zu filtern und die Daten als Suchergebnis anzuzeigen. Fehler: Es funktioniert nicht und zeigt alle Daten von db anstelle von spezifischen Abfragen an. –

Antwort

0

Der Name Ihres select Bedürfnisse der $_POST variablen Schlüssel übereinstimmen.

Also in Ihrem Fall brauchen Ihre <select> den Namen state_search.

oder ändern Sie Ihre $_POST Suche zu $_POST['state'], um Ihren ausgewählten Namen zu entsprechen.

sollten Sie auch die $state_search Variable in Ihrer Abfrage anstelle von $query verwenden.

Möglicherweise haben Sie weitere Probleme, achten Sie nur auf Details.

+0

Ich habe Re-Edit bitte können Sie überprüfen –

0

Sie setzen zu viel HTML in Echo-Funktion.

<?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

Ich habe Re-Edit können Sie bitte überprüfen –

+0

Wenn Sie $ State_search Echo; nachdem es definiert ist, was du bekommst? – OnionStand

+0

nichts nur leer –

Verwandte Themen