検索フォームがあり、検索結果ページが読み込まれると、ユーザーが結果を絞り込むためのジャンプ メニューが上部に表示されます。
ジャンプメニューには、投稿されたフォームから選択した検索条件が表示されます。
ただし、「ポート」ジャンプ メニューで、ブリストルまたはエジンバラを選択すると、結果ページに移動したときにポート メニューにそれらが選択されたように表示されません。それは他のすべてのために...
クルーズ検索ボックスからの私の検索選択コードは次のとおりです
<select name="port" id="port">
<option selected value="%">All Ports...</option>
<option value="Bristol Avonmouth">Bristol Avonmouth</option>
<option value="Edinburgh Leith">Edinburgh Leith</option>
<option value="Glasgow Greenock">Greenock</option>
<option value="Hull">Hull</option>
<option value="Liverpool">Liverpool</option>
<option value="London, Tilbury">London Tilbury</option>
<option value="Newcastle">Newcastle</option>
</select>
結果ページのジャンプ メニュー コードは次のとおりです。
<div id="cac">
<h3>Sailing from...</h3>
<p> </p>
<p>
<select name="jumpMenu3" id="jumpMenu3" onchange="MM_jumpMenu('parent',this,0)">
<option value="">Select a port</option>
<?php
$ports = array();
mysql_data_seek($cruises, 0);
while ($row_cruises = mysql_fetch_assoc($cruises)) {
if (!in_array($row_cruises['fromport'], $ports)) {
$ports[] = $row_cruises['fromport'];
?>
<option value="index.php?subj=2&destination=<?php echo urlencode($row_cruises['destination']);?>&departs=<?php echo date('Ym',strtotime($row_cruises['departs']));?>&port=<?php echo urlencode($row_cruises['fromport']);?>"<?php if ($_GET['port'] == $row_cruises['fromport'] OR $_POST['port'] == $row_cruises['fromport']) {echo "selected=\"selected\"";}?>><?php echo $row_cruises['fromport']; ?></option>
<?php } ;
}
if(mysql_num_rows($cruises) > 0) {
mysql_data_seek($cruises, 0);
$row_cruises = mysql_fetch_assoc($cruises);
}
?>
</select>
データベースでポート自体のスペル、大文字と小文字、間隔を確認しました...すべて問題ありません。
たぶん、like またはワイルドカード比較演算子が必要ですか?
どどどど
修正 - 寄港地検索は寄港地テーブルに反しておらず、クルーズ テーブルの出発港に書かれている内容に反しており、間違って入力されたクルーズがいくつかあります...
リッチ :)