PHP セレクトフォームの連動
初めての質問です。よろしくお願いします。
今、同一ページ内で二つのセレクトフォームを連動させてライブ写真の表示をさせようとしているのですが、上手くいきません。
内容は、まず1つ目のセレクトにライブ会場名を表示します。そのセレクトをクリックすると、連動してもう一つのセレクトに写真名のリストが表示されるようにします。
今困っているのは一つ目のセレクトをクリックし、二つ目のセレクトの連動はどうにかできたのですが、二つ目のセレクトをクリックすると一つ目のセレクトが初期状態に戻ってしまいます。
質問がヘタクソなので、ソースとURLを書いておきます。ソースが分かりにくいとは思いますがご了承ください。お分かりになる方は分かりやすく教えてください。よろしくお願いします。
URL http://www.officekuwa.com/soulsurvivores/ontheroad/gallery.php
データーベースの内容です。
gallery_title(ライブ会場名が登録されたテーブル)
id,title,date,active
gallery (写真名が登録されたテーブル)
id,cid,title,photos,date,active
//一つ目のセレクト
// ライブ会場名表示
$gallery_query = "select * from gallery_title where id =".$_POST['setID'].";
$gallery_cat_data = mysql_query($gallery_query, $db);
$gallery = mysql_fetch_assoc($gallery_cat_data);
<FORM method="post" name="setForm" action="/soulsurvivores/ontheroad/gallery.php?ID=<?php echo _hs($gallery['id']); ?>">
<SELECT NAME="setID" CLASS="formPulldown" STYLE="width:175px" onChange="document.setForm.submit()">
<option value=''>Select a Photo Set</option>
// 会場名表示
$gallery_query = "select * from gallery_title";
$gallery_cat_data = mysql_query($gallery_query, $db);
while($gallery_cat = mysql_fetch_assoc($gallery_cat_data))
{
$SELECTED = (($_POST['setID'] == $gallery_cat['id'])?" SELECTED":"");
<option value="<?php echo _hs($gallery_cat['id']); ?>"<?php echo _hs($SELECTED);?>><?php echo $gallery_cat['title'];?></OPTION>
</SELECT>
</TD></FORM>
<option value="<?php echo _hs($gallery_cat['id']); ?>"<?php echo _hs($SELECTED);?>><?php echo $gallery_cat['title'];?></OPTION>
</SELECT>
</TD></FORM>
}
//二つ目のセレクト
// 写真タイトル名表示
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$gallery_query = "select * from gallery where cid =".$_POST['setID'].";
$gallery_cat_data = mysql_query($gallery_query, $db);
$gallery_cat = mysql_fetch_assoc($gallery_cat_data);
?>
<FORM method="post" name="phoForm" action="/soulsurvivores/ontheroad/gallery.php?ID=<?php echo _hs($gallery_cat['id']);?>&setID=<?php echo _hs($gallery_cat['cid']);?>">
<SELECT NAME="ID" CLASS="formPulldown" STYLE="width:275;background-color:#FFFFFF" onChange="document.phoForm.submit()">
<option value=''>Select a Photo</option>
<?php
}
}
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
$gallery_query = "select * from gallery where cid =".$_POST['setID'].";
$gallery_disp_data = mysql_query($gallery_query, $db);
while($gallery_disp = mysql_fetch_assoc($gallery_disp_data))
{
$SELECTED = ((!isset($_POST['setID']) Or $_POST['setID'] == "none")?" SELECTED":"");
?>
<OPTION VALUE="<?php echo _hs($gallery_disp['cid']);?>" <?php echo _hs($SELECTED); ?>><?php echo $gallery_disp['title'];?></OPTION>
<?php
}
}
?>
</SELECT>
// 写真の表示
<?php
if ($_SERVER["REQUEST_METHOD"]=="POST")
{
$SELECTED = "SELECTED";
if(!isset($_POST['ID']))
{
print "";
}
else
{
// 写真の表示
$gallery_query = "select * from gallery where cid =".$_POST['ID'].";
$gallery_cat_data = mysql_query($gallery_query, $db);
$gallery_cat = mysql_fetch_assoc($gallery_cat_data);
?>
<img src="<?php echo _hs($gallery_cat['photos']); ?>" alt="" hspace="0" vspace="6" border="0">
<?php
}
}
?>
補足
自分もそういう認識で居ました。 先にも書いたようにFireBugではソースは確認できています。 プルダウンメニューは表示されていますし、Valueも正しく設定されています。 <span id="daySelect"><select name="BDay"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option ><option value="5">5</option> <option value="6">6</option> ~中略~ </select></span>日 受け取り側でDUMPしてやっても表示されるはずの"[BDay] =>"が表示されていません。 気になる箇所としては、FireBugのスタイル欄に This element has no style rules. You can create a rule for it. というメッセージが出ているのですが、何か関係あるでしょうか?