2

私のページには、2つのドロップダウンボックスがあります。1つは日付のリスト用で、もう1つはオプション用です。日付のボックスは次のように入力されます。

echo "<form name='selectedDate' action='page.php' method='GET' class='auto-style1'>";
echo "<select name='date' onchange='this.form.submit()'>";
echo "<option value=select>Select a Date</option>";
while ($row = mysql_fetch_array($result))
{
    $date = date("m-d-Y",strtotime($row['date']));

    if($date==date("m-d-Y"))
    {
        echo "<option>TODAY</option>";
    }
    else
    {
        echo "<option>" . $date . "</option>";
    }
}
echo "</select>";

echo "<br />";          
echo "<noscript>";
echo "<input type='submit' value='Select'>";
echo "</noscript>";
echo "</form>";

もう1つのドロップダウンは、次のように入力されます。

echo "<form name='selectedFormat' action='page.php' method='GET' class='auto-style1'>";
echo "<select name='option' onchange='this.form.submit()'>";
echo "<option value=select>Select a Option</option>";
echo "<option value=Artist>Artist</option>";
echo "<option value=Song>Song</option>";
echo "</select>";

echo "<br />";          
echo "<noscript>";
echo "<input type='submit' value='Select1'>";
echo "</noscript>";
echo "</form>";

これで、変更時に両方が設定されていることがSubmit()わかります。最初のURLを変更すると、ブラウザのURLはになりpage.php?date=02-26-2013、2番目のURLを変更すると、ブラウザのURLはになりpage.php?option=Songます。

私が抱えている問題は、をdate古い日付に変更してから、を変更すると、ページが現在の日付にoption戻ることです。dateアクションを別のURLに設定してみました:

$url = "musicInfo.php?date=" .  $nonFormatedDate . "&option=" . $option;

そして、私は両方のフォームを次のように変更しました。

echo "<form action='" . $url . "' method='GET' class='auto-style1'>"; 

echo $url;の場合、ブラウザのURLがどうあるべきかが正しく表示されます。ただし、ブラウザのURLには、最後に使用したドロップダウンが表示されます。

ここでの私の質問は、どちらかの送信時に両方の変数を渡すにはどうすればよいですか?

たとえば、をに変更してから、に変更した場合、どうすれば、date01-13-2012渡さoptionれることSongを確認できますか?dateおよびその逆。または、日付をに変更した場合、リロード時にドロップダウンボックスでこれを選択する01-12-2012ことはできますか?date

私がやろうとしているサイト:http: //www.legendary-immersion.com/random/test.php

4

1 に答える 1

1

コメントで言うように、リクエストごとに1つのフォームしか送信できません。したがって、最善の方法は、フォームに必要なデータを非表示にすることです。

phpファイルにこのコードを追加します

$date = isset($_GET["date"]) ? $_GET["date"] : "";
$option = isset($_GET["option"]) ? $_GET["option"] : "";

次に、最初の形式で追加します

<input type="hidden" name="option" value="<?php echo $option; ?>"/>

そして2番目の形式で追加

<input type="hidden" name="date" value="<?php echo $date; ?>"/>

すべてのフォーム送信の結果として、次のようなURLが取得されます

page.php?date=yourdate&option=youroption

よろしくお願いいたします。これがお役に立てば幸いです

于 2013-02-27T13:20:48.150 に答える