0

我得到了这个变量:

$machine=isset($_POST['machine'])?$_POST['machine']:'';

对于我的选择框:

<select id="machine" name="machine">
    <option value=""></option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    <option value="4">D</option>
</select>

现在我想做一些修改。我已经保存在我的设置中$favmachine=4。例如我加载页面

if($favmachine!=0)
{
    $machine=$favmachine;
}

我的表格看起来像这样(正是我想要的):

<select id="machine" name="machine">
    <option value=""></option>
    <option value="1">A</option>
    <option value="2">B</option>
    <option value="3">C</option>
    <option value="4" selected="selected">D</option>
</select>

现在的问题是,当我想将例如从 D 更改为 A 时,它再次变为 D.. 正是我写的内容......但我不知道如何处理这个问题

我希望在页面加载时选择我的 $favmachine(工作)但希望能够将其更改为另一台机器并通过 $_POST 将其设置为 $machine

希望你能理解我的问题:D

4

1 回答 1

0

我认为只有在对 POST 值的检查导致“无”之前,您才想覆盖: $machine$favmachine

$machine=isset($_POST['machine'])?$_POST['machine']:'';
if($machine==='' && $favmachine!=0)
{
    $machine=$favmachine;
}

或更短的形式,?再次使用运算符:

$machine = isset($_POST['machine']) ? 
             $_POST['machine']
           : 
             ( $favmachine != 0 ? $favmachine : '');

(多行和缩进仅供阅读。)

于 2013-06-06T12:04:08.373 回答