データベースの「検索エンジン」を作成しており、値としてドロップダウンを使用してクエリを制限しているため、間違った検索を行うことはできません。つまり、検索は列と値に基づいて行われます。この質問では、列の数を3つに減らしました。まるで、仕事2を作成するのを手伝ってくれるかのように。それなら、もっと自分でやることを理解できるといいのですが。
最初のドロップダウン(列)、新しいオプション(値)に対応するドロップダウン。2番目のドロップダウン(列)、新しいオプション(値)に対応するドロップダウン。
実際、2つのクエリを同時に照合する必要があるため、最初と2番目のドロップダウンクエリの列名は同じです。
現在のコード:最初のコードはすでにドロップダウンであり、完全に機能します。ただし、2番目のドロップダウン(簡単です)を作成するために多くのことを試みましたが、最初のドロップダウンと同じように機能させると、成功しませんでした。
<script type="text/javascript">
function setOptions(chosen) {
var selbox = document.search.findone;
selbox.options.length = 0;
if (chosen == " ") {
selbox.options[selbox.options.length] = new Option('Please select one of the options above first',' ');
}
if (chosen == "SHIPPINGLINE") {
selbox.options[selbox.options.length] = new Option('MSC','MSC');
selbox.options[selbox.options.length] = new Option('first choice - option two','onetwo');
}
if (chosen == "POL") {
selbox.options[selbox.options.length] = new Option('HONG KONG','HONG KONG');
selbox.options[selbox.options.length] = new Option('SHANGHAI','SHANGHAI');
}
if (chosen == "POD") {
selbox.options[selbox.options.length] = new Option('HAMBURG','HAMBURG');
selbox.options[selbox.options.length] = new Option('LE HAVRE','LE HAVRE');
}
}
</script>
そしてさらに
<div id="searchzone">
<h2>Search</h2>
<form name="search" method="post" action="<?=$PHP_SELF?>">
<Select NAME="fieldone" onchange="setOptions(document.search.fieldone.options[document.search.fieldone.selectedInde x].value);" id="fieldone">
<option value=" " selected="selected"> </option>
<option VALUE="SHIPPINGLINE">SHIPPING LINE</option>
<option VALUE="POL">POL</option>
<option VALUE="POD">POD</option>
</Select>
<Select NAME="findone" />
<option value=" " selected="selected">Please select the category on the left first.</option>
</select>
<br />
<br />
<Select NAME="fieldtwo">
<option VALUE="SHIPPINGLINE">SHIPPING LINE</option>
<option VALUE="POL">POL</option>
<option VALUE="POD">POD</option>
</Select>
<input type="text" name="findtwo" />
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
</div>
おそらくあなたが知っていることに関連しています、これは私のSQLクエリです、それはうまくいきます:)
$data = mysql_query("SELECT * FROM tablename WHERE upper($fieldone) LIKE'%$findone%' AND upper($fieldtwo) LIKE'%$findtwo%'");
ご協力いただければ幸いです。他にご不明な点がございましたら、お気軽にお問い合わせください。