みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プルダウンで選択された値を保持

お世話になります。
PHPとMysqlでプログラムを作成しています。
プルダウンメニューを選択し、Submitボタンを押した後も選択された値を保持したままの状態にしたいのです。
以下のようなプログラムでdata2の場合だと保持ができますが、dataの場合は「すべて」に戻ってしまいます。
以上・未満を使用する場合の値の保持はどのようにすればよいのでしょうか?
宜しくお願い致します。

<select name='data'>
<option value=' ' <?php if($data==" "){print " selected";} ?>>すべて
<option value=' AND (data >= 1.8 AND data < 2.0) '<?php if($data>=1.8 AND $data < 2.0){print " selected";} ?>>1.8GHz以上 2.0GHz未満</option>
<option value=' AND (data >= 2.00) '<?php if($data>=2.00){print " selected";} ?>>2.0GHz以上</option>
<option value=' AND (data >= 2.80) '<?php if($data>=2.80){print " selected";} ?>>2.8GHz以上</option>
</select>
<select name='data2'>
<option value='%' <?php if($data2=="%"){print " selected";} ?>>すべて
<option value='1MB'<?php if($data2=="1MB"){print " selected";} ?>>1MB</option>
<option value='2MB'<?php if($data2=="2MB"){print " selected";} ?>>2MB</option>
</select>
<input type="submit" value="絞り込む" name="submit1">

投稿日時 - 2007-01-16 12:14:48

QNo.2669989

困ってます

質問者が選んだベストアンサー

もしかしてSQLのWHERE句につなげるつもりでしょうか?
プログラム的には「もっともやってはいけない」ことのひとつです。
とりかえしのつかないことになる前に「インジェクション対策」を
基礎から勉強してください。

とりあえず、以下のようにすると可読性もたかくなりますので参考になれば。

<?php
$selected['data'][$_REQUEST['data']]=" selected";
$selected['data2'][$_REQUEST['data2']]=" selected";

print <<<eof
<form method="get" action="{$_SERVER['PHP_SELEF']}">
<select name="data">
<option value="">すべて
<option value="1.8-2.0"{$selected['data']['1.8-2.0']}>1.8GHz以上 2.0GHz未満</option>
<option value="2.0up"{$selected['data']['2.0up']}>2.0GHz以上</option>
<option value="2.8up"{$selected['data']['2.8up']}>2.8GHz以上</option>
</select>
<select name="data2">
<option value="%"{$selected['data2']['%']}>すべて
<option value="1MB"{$selected['data2']['1MB']}>1MB</option>
<option value="2MB"{$selected['data2']['2MB']}>2MB</option>
</select>
<input type="submit" value="絞り込む" name="submit1">
</form>

eof;
?>

投稿日時 - 2007-01-16 12:42:37

お礼

回答ありがとうございます。
色々と勉強し直しながら、
回答を参考にさせて頂きながら頑張ってみます。

投稿日時 - 2007-02-15 21:33:28

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問