-1

PHPコードにドロップダウンリストがあります。送信ボタンを使用してページが送信された後、値を選択したままにしようとしています(フォームアクションは別のphpスクリプトを呼び出しますが、以下のコードブロックはフォームと同じphpスクリプトにあります)。私はこれを試しましたが、必要なことをしません。どんな提案も役に立ちます。

//getting value from database
$dropDownVal=$row['player'];
////
echo "<td bgcolor=#7FFF00><select name='DropDown".$row['_id']."' >;
<option value=\"1\"  if ($dropDownVal==1) selected=\"selected\">Select </option>;
<option value=\"2\"  if ($dropDownVal==2) selected=\"selected\">Johnson</option>;
<option value=\"3\"if ($dropDownVal==3) selected=\"selected\">Reed</option>;
<option value=\"4\"if ($dropDownVal==4) selected=\"selected\">Suggs</option>;
<option value=\"5\"if ($dropDownVal==5) selected=\"selected\">Flacco</option>;
<option value=\"6\"if ($dropDownVal==6) selected=\"selected\">Rice</option>;
</select>";
4

2 に答える 2

3

クリスは本質的に正しいです。

POST変数を使用するフォームでこれを送信する場合。

次に、変数$dropDownValを使用するように設定するロジックを変更すると、$_POST必要なものが得られるはずです。

経由でフォームを送信する場合はGET、 のすべての参照を に変更して$_POSTください$_GET

単一ページで参照するための完全なコードを次に示します。

<html>
<head></head>
<?php
if (!empty($_GET['Dropdown'])) {
    $dropDownVal = $_GET['Dropdown'];
} else {
    $dropDownVal = 1;
}
?>
<form method="get" action="testing.php">
    <select name="Dropdown" >;
        <option value="1" <?php if ($dropDownVal==1) echo 'selected="selected"'; ?>>Select </option>;
        <option value="2" <?php if ($dropDownVal==2) echo 'selected="selected"'; ?>>Johnson</option>;
        <option value="3" <?php if ($dropDownVal==3) echo 'selected="selected"'; ?>>Reed</option>;
        <option value="4" <?php if ($dropDownVal==4) echo 'selected="selected"'; ?>>Suggs</option>;
        <option value="5" <?php if ($dropDownVal==5) echo 'selected="selected"'; ?>>Flacco</option>;
        <option value="6" <?php if ($dropDownVal==6) echo 'selected="selected"'; ?>>Rice</option>;
    </select>
    <input type="submit" name="submit" value="Submit Form" />
</form>
</html>
于 2012-12-10T03:38:06.993 に答える
0

これは自己送信スクリプトですか。つまり、同じコードが入力用のフォームをレンダリングし、送信も処理しますか? 送信側では、適切な GET または POST パラメーターを読み取る必要があります。変数は、送信前に値に依存するだけではないからです。代わりに、送信側は、変数を割り当てずに、1 行目からもう一度実行するスクリプトです。

于 2012-12-10T03:19:37.943 に答える