私はphpとsqlが初めてなので、ご容赦ください。検索してみましたが、探しているものがまったく見つかりませんでした。あなたが私を助けてくれることを願っています。だからここに行きます!
値を持つ一定数のドロップダウン メニューがあります。すべてのオプションを選択し、すべての値に対してSQLクエリを実行するselect allオプションを含めるのが好きです。if 条件を使用してクエリを実行するサンプル コードを作成しましたが、if 条件の数はドロップ ダウン メニューの数に基づいて指数関数的に増加します。2^n 私は推測しています。これを行うためのより良い方法があるかどうかを知りたかったのです。以下のコードを見つけてください。
$sql = mysql_query("SELECT distinct `Num. of Parts` from `$verb`");
echo "<select name='filter1'>";
echo "<option value='1'> Select all </option>";
while($row = mysql_fetch_assoc($sql))
{
$filter1 = $row['Num. of Parts'];
echo "<option value='$filter1'> $filter1 </option>";
}
echo "</select>";
$sql = mysql_query("SELECT distinct `Type of positioning` from `$verb`");
echo "<select name='filter2'>";
echo "<option value='1'> Select all </option>";
while($row = mysql_fetch_assoc($sql))
{
$filter2 = $row['Type of positioning'];
echo "<option value='$filter2'> $filter2 </option>";
}
echo "</select>";
echo "<input type=\"submit\" name=\"submitC\" value=\"SUBMIT\">";
submitC 値はここに渡されます。
if($filter1==1 && $filter2!=1)
{$sql = mysql_query("SELECT * from `$verb` where `Num. of Parts` like '%' and `Type of positioning`='$filter2' and `Distance range`='$dist'");
}
elseif($filter1!=1 && $filter2==1)
{$sql = mysql_query("SELECT * from `$verb` where `Num. of Parts`='$filter1' and `Type of positioning` like '%' and `Distance range`='$dist'");
}
elseif($filter1==1 && $filter2==1)
{$sql = mysql_query("SELECT * from `$verb` where `Num. of Parts` like '%' and `Type of positioning` like '%' and `Distance range`='$dist'");
}
else
{
$sql = mysql_query("SELECT * from `$verb` where `Num. of Parts`='$filter1' and `Type of positioning`='$filter2' and `Distance range`='$dist'");
}
よろしくお願いします!ps EXCLUDE $dist