在php中设置选择值的最佳方法

在php中设置选择值的最佳方法,php,html,laravel,laravel-blade,Php,Html,Laravel,Laravel Blade,我正在寻找一种基于数据库中的数据使用php设置html动态值的好方法。现在看起来是这样的: <select class="form-control" name="displayNavigation" id="displayNavigation"> @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1) <option value="1" selected>

我正在寻找一种基于数据库中的数据使用php设置html动态值的好方法。现在看起来是这样的:

<select class="form-control" name="displayNavigation" id="displayNavigation">
    @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1)
        <option value="1" selected>Yes</option>
        <option value="0">No</option>
    @elseif(isset($site['displayNavigation']) and $site['displayNavigation'] == 0)
        <option value="1">Yes</option>
        <option value="0" selected>No</option>
    @else
        <option value="1">Yes</option>
        <option value="0">No</option>
    @endif
</select>

@如果(isset($site['displayNavigation'])和$site['displayNavigation']==1)
对
不
@elseif(isset($site['displayNavigation'])和$site['displayNavigation']==0)
对
不
@否则
对
不
@恩迪夫
我认为这不是为超过10个选项的选择列表设置值的正确方法


还有其他方法吗?

您的if-else语句需要修改。此代码将解决您的问题

<select class="form-control" name="displayNavigation" id="displayNavigation">
    <option value="1" <?php if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1){?>selected<?php } ?>>Yes</option>
    <option value="0" <?php if(isset($site['displayNavigation']) and $site['displayNavigation'] == 0){?>selected<?php } ?>>No</option>
</select>

>对
>没有

如果下面的代码对您有帮助,请尝试一下

<select class="form-control" name="displayNavigation" id="displayNavigation">   
    <option value="1" @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 1) selected @endif>Yes</option>
    <option value="0" @if(isset($site['displayNavigation']) and $site['displayNavigation'] == 0) selected @endif>No</option>    
</select>

对
不

您只需在
中使用
@if
条件,并设置
已选择的属性

<select class="form-control" name="displayNavigation" id="displayNavigation">
        <option value="1" @if($site['displayNavigation'] == 1) selected @endif>Yes</option>
        <option value="0" @if($site['displayNavigation'] == 0) selected @endif>No</option>
    @endif
</select>

对
不
@恩迪夫

APHP 7使用以下方法回答:


看起来不错
<select class="form-control" name="displayNavigation" id="displayNavigation">
    <option value="1" <?php echo ($site['displayNavigation'] ?? 2) == 1 ? 'selected' : ''; ?>>Yes</option>
    <option value="0" <?php echo ($site['displayNavigation'] ?? 2) == 0 ? 'selected' : ''; ?>>No</option>
</select>
<select class="form-control" name="displayNavigation" id="displayNavigation">
    <option value="1" <?php echo isset($site['displayNavigation']) && $site['displayNavigation'] == 1 ? 'selected' : ''; ?>>Yes</option>
    <option value="0" <?php echo isset($site['displayNavigation']) && $site['displayNavigation'] == 0 ? 'selected' : ''; ?>>No</option>
</select>