0

私は自分のphpフォームに問題があり、データベースから情報を照会していますが、フォームがリロードされたときにユーザーが送信をクリックして選択した値を返すようにしたいだけです。私はこれを一晩中機能させようとしていました。

より明確にするための例。

- - 選択する - -

- - アップル - -

- - バナナ - -

彼らがバナナを選択し、ページがリロードされたときに sumbit をクリックして、フィールド バナナが既に選択されている場合。ここで、以下のコード。「解析エラー: 構文エラー、予期しない '.' との戦いの 45 分後。私は髪を抜く準備ができているので、皆さんが手を貸してくれることを願っています.

echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? .'" selected=':'>$"'.$row['free'].'"</option>';

ありがとう

4

5 に答える 5

1

フォーム内にselect要素があると仮定しましょう

<form action="" method="post">
       <select name ="fruits">
              <option value="apple">Apple</option>
              <option value="banana">Banana</option>
              <option value="orange">Oranges</option>
              <option value="mango">Mangoes</option>
       </select>
       <input type="submit" name="submit"/>
</form>

私があなたが正しいと理解した場合、ユーザーが送信ボタンをクリックしたときに選択した値をユーザーに表示して、これをphpコードの上に配置します。

<?php 
//This will check if form is submitted then fetch the value from select element else assign null
$value = isset($_POST['submit']) ? $_POST['fruits'] : NULL; 
?>

<option>すべてをに変更します

<option value="apple" <?php echo ($value == 'apple') ? 'selected' : ''; ?>>Apple</option>
<option value="banana" <?php echo ($value == 'banana') ? 'selected' : ''; ?>>Banana</option>
<option value="orange" <?php echo ($value == 'orange') ? 'selected' : ''; ?>>Oranges</option>
<option value="mango" <?php echo ($value == 'mango') ? 'selected' : ''; ?>>Mangoes</option>
于 2012-05-14T07:15:02.110 に答える
1
echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? /*.*/ '" selected=':'>$"'.$row['free'].'"</option>';

見やすいようにコメントアウトしただけです。

于 2012-05-14T07:12:57.780 に答える
0

sintaxを単純化して、まず読みやすくすることをお勧めします。

$selected = '';
if($free==$row['free']){ $selected=' selected'; }

echo "<option value='{$row['free']}'{$selected}>{$row['free']}</option>";
于 2012-05-14T07:14:33.110 に答える
0

その文字列がどのように混乱したのかわかりません....次のように、HTMLをレンダリングしている場合にPHPモードをドロップアウトすると、(私の意見では)より明確になります。

?>
<option value="<?php echo $row['free']; ?>" <?php if($free == $row['free']) echo 'selected="selected"'; ?>><?php echo $row['free']; ?></option>
<?php
于 2012-05-14T07:18:21.823 に答える
0
echo '<option value="' . $row['free'] . '"' . ($free == $row['free'] ? ' selected="selected"' : '') . '>' . $row['free'] . '</option>';

それはうまくいくはずです:)

于 2012-05-14T07:12:07.940 に答える