ドロップダウン選択ボックスを持つモジュールがあります。データベースにモジュールが関連付けられているコンポーネントに関連付けられているテーブルがあります。
コンポーネントデータベーステーブルにデータが含まれている場合、モジュールのデータをドロップダウンに表示するにはどうすればよいですか。選択すると、別のページに結果が表示されますか?
たとえば、モジュールに次のドロップダウンがあります。
<label for="airport">Airport:</label>
<select id="airport" name="airport">
<option selected="selected" value="A">Any Airport</option>
<option value="LGW">Gatwick</option>
<option value="MAN">Manchester</option>
</select>
データベースには、「dep」というテーブルがあり、MANまたはLGWのいずれかが含まれています。ユーザーがドロップダウンからLGWを選択し、[検索]をクリックすると、コンポーネントをロードしますLGWがテーブルにあるデータベースからのすべてのデータ。
モジュールで次のデータベースクエリを設定しましたが、これを使用してドロップダウンにデータを表示し、正しい結果を表示するにはどうすればよいですか?
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('mykey', 'hotelName', 'resortName', 'dep', 'startDate', 'sellingPrice')));
$query->from($db->quoteName('#__availability'));
$query->order('ordering ASC');
$db->setQuery($query);
$results = $db->loadObjectList();
以下のように入力できます:
<label for="airport">Airport:</label>
<select id="airport" name="airport">
<option selected="selected" value="A">Any Airport</option>
<?php
foreach ($results as $result)
{
echo "<option value='{$result->dep}'>{$result->dep}</option>";
}
?>
</select>
次に、フォームを定期的に、またはAJAXメソッドで)処理します。