0

してください、私は私と一緒にPHPベアを使用するのはやや新しいです。私はセレクトボックスを持っています...

<select name="criteria">
        <option value="1">Student ID</option>
        <option value="2">Firstname </option>
        <option value="3">Lastname</option>
        <option value="6">All</option>
    </select>

    <input name="searchvalue" type="text">
    <input name="search" type="submit" value="Search">

特定のオプションで検索すると、投稿リクエストの後、選択されたオプションは通常デフォルトで学生 ID になります。しかし、私が検索したオプションのままにしておきたいです。任意の提案をいただければ幸いです。

4

3 に答える 3

1

正直に言うと、選択したコードを少し調整して、もう少し動的な編集を可能にします。

<?php 
$options = array('1'=>'Student ID', '2'=>'Firstname', '3'=>'Lastname', '6'=>'All');     
?>

<select name="criteria">

<?php 
foreach($options as $key=>$value){
    $addtItem = '';
    if(isset($_POST['criteria']) && $_POST['criteria']==$key){
        $addtItem = 'selected="selected"';
    }
    echo('<option '.addtItem.' value="'.key.'">'.$value.'</option>');
}

?>

</select>

このようにして、大量の繰り返しコードなしで、より多くの値をすばやく追加できます。

于 2012-12-11T16:32:22.140 に答える
0
<select name="criteria">
    <option value="1" <?php if ($_POST["criteria"] == 1) echo "SELECTED"; ?>>Student ID</option>
    <option value="2" <?php if ($_POST["criteria"] == 2) echo "SELECTED"; ?>>Firstname </option>
    <option value="3" <?php if ($_POST["criteria"] == 3) echo "SELECTED"; ?>>Lastname</option>
    <option value="6" <?php if ($_POST["criteria"] == 6) echo "SELECTED"; ?>>All</option>
</select>

本当に醜いですが、それはうまくいきます。

于 2012-12-11T16:25:15.280 に答える
0

$_POST配列をチェックして、対応する選択項目を選択する必要があります

<?php 
$criteria = isset($_POST['criteria']) ? $_POST['criteria']: 0; 
?>
<select name="criteria">
    <option value="1" <?php echo ($criteria == '1') ? 'selected="selected"': ''; ?>>Student ID</option>
    <option value="2" <?php echo ($criteria == '2') ? 'selected="selected"': ''; ?>>Firstname </option>
    <option value="3" <?php echo ($criteria == '3') ? 'selected="selected"': ''; ?>>Lastname</option>
    <option value="6" <?php echo ($criteria == '6') ? 'selected="selected"': ''; ?>>All</option>
</select>
于 2012-12-11T16:26:07.790 に答える