私は選択した製造元に基づいてマグホイールを表示するSQLクエリのフィルタを適用しようとしています。PHPを使用してHTMLフォームオプションセレクタでMySQLの結果をフィルタリング
これまでのところ、HTMLフォームのドロップダウンリストを生成し、$ _POSTを使用してそれを戻し、sqlクエリに適用してページを再表示します。私は似たような働きをしていますが、このフォームで使用されるオプション>ボックスの代わりに配列とチェックボックスを使用しています。
...から選択するために、メーカーのリストを生成してからポストを提出
// Getting manufacturer to create the filter list.
$filterManu = "SELECT DISTINCT manufacturer FROM wheels";
$filterManuResult = mysqli_query($db, $filterManu) or die("Error in Selecting " . mysqli_error($db));
// Applying the filtering
if (isset($_POST['manu'])) {
$option = $_POST['manu'];
$featuredsql = "SELECT * FROM wheels WHERE manufacturer = " . $option . " ORDER BY diam";
}
$featured = $db->query($featuredsql);
フォームを、現在これは、任意のフィルタを適用しませんし、実際に表示されるように、車輪を生成ループを破ります形。
<form name="manuFilter" method="POST">
<div class="form-group"></div>
<select name="manu">
<option selected disabled>Select a manufacturer</option>
<?php while($rowManu = mysqli_fetch_assoc($filterManuResult)) : ?>
<option name="manu" value="<?php echo $rowManu['manufacturer']; ?>"><?php echo $rowManu['manufacturer']; ?></option>
<?php endwhile; ?>
</select>
<div class="form-group"></div>
<button type="submit" name="filterOptions" value="displayManu" class="btn btn-default btn-sm btn-primary"><i class="fa fa-pencil"></i> Apply</button>
</form>