PHP を使用してデータベースを呼び出し、3 つの異なるドロップダウン メニューを表示しています。それはうまくいきます。私の問題は、関数を呼び出してドロップダウンの選択を関数に渡し、送信ボタンが押された後にレコードを表示することです。この関数は、ドロップダウンの 1 つだけが選択されているか、3 つすべてが選択されているかを考慮したビルド クエリです。
関数は現在、フォームと同じページにあります。
フォームは次のとおりです。
<form action="edit.php" method="POST">
<select>
<?php $getGroup = mysql_query("SELECT DISTINCT resgroup FROM restable ORDER BY resgroup");
while($viewAllGroups = mysql_fetch_array($getGroup)){
?>
<option id="<?php echo $viewAllGroups['resgroup']; ?>"><?php echo $viewAllGroups['resgroup']; ?></option><?php } ?>
</select>
<select>
<?php $getType = mysql_query("SELECT DISTINCT restype FROM restable ORDER BY restype");
while($viewAllTypes = mysql_fetch_array($getType)){
?>
<option id="<?php echo $viewAllTypes['restype']; ?>"><?php echo $viewAllTypes['restype']; ?></option><?php } ?>
</select>
<select>
<?php $getService = mysql_query("SELECT DISTINCT service FROM restable ORDER BY service");
while($viewAllServices = mysql_fetch_array($getService)){
?>
<option id="<?php echo $viewAllServices['service']; ?>"><?php echo $viewAllServices['service']; ?></option><?php } ?>
</select>
<input type="submit" class="btn btn-primary" value="Filter" />
</form>
関数は次のとおりです。
<?php
function displayrecords(){
$groups = $_POST['resgroup'];
$type = $_POST['restype'];
$service = $_POST['service'];
if($groups != ""){
$where[] = " `resgroup` = '".mysql_real_escape_string($group)."'";
}
if($type != ""){
$where[] = " `restype` = '".mysql_real_escape_string($type)."'";
}
if($service != ""){
$where[] = " `service` = '".mysql_real_escape_string($service)."'";
}
$sql_json = "SELECT * FROM mytable WHERE $where_clause ORDER BY id DESC";
}
?>
次に、関数を表示しようとします。
<?php displayrecords(); ?>
エラーは発生しませんが、送信ボタンをクリックすると、ドロップダウン メニューがクリアされ、何も返されません。私は多くのことを見逃していることを知っています。助けていただければ幸いです。
前もって感謝します。