2017-04-04 112 views
0

当我尝试从下拉列表中选择SQL选择的选项,我得到的所有选项中选择:PHP和MySQL的下拉选项中选择问题

$status1 = $row7["status"]; 

if($status1 == "draft") { $slc = "selected"; } 
if($status1 == "ordered") { $slc = "selected"; } 
if($status1 == "shipped") { $slc = "selected"; } 

echo " 
    <select class=\"form-control input-sm\" name = \"o_status\"> 
    <option value = \"draft\" $slc>draft</option> 
    <option value = \"ordered\" $slc>ordered</option> 
    <option value = \"shipped\" $slc>shipped</option> 
    </select> 
"; 

我与输出的问题选择了所有选项那样:

<select class="form-control input-sm" name = "status"> 
<option value = "draft" selected>draft</option> 
<option value = "ordered" selected>shipped</option> 
<option value = "shipped" selected>shipped</option> 

回答

3

请立即检查。

希望这有助于你:

$status1 = $row7["status"]; 

if($status1 == "draft") { $draft = "selected"; } 
if($status1 == "ordered") { $ordered = "selected"; } 
if($status1 == "shipped") { $shipped = "selected"; } 

    echo " 
    <select class=\"form-control input-sm\" name = \"o_status\"> 
<option value = \"draft\" $draft>draft</option> 
<option value = \"ordered\" $ordered>ordered</option> 
<option value = \"shipped\" $shipped>shipped</option> 
</select> 
    "; 
+1

这将导致错误,如 PHP注意:未定义的变量:在第22行的thisfile.php中排序 当选择其中一个时,其他未定义。 看看我的回复;) –

+0

Thx Ajay现在工作很好:) – Sky

+0

欢迎:) – Aaron

4

您可以以设置选择选项定义状态的数组:

<?php 
    $statuses = array(
     'draft' => 'New draft', 
     'ordered' => 'New order', 
     'shipped' => 'New ship' 
    ); 
?> 

<select class="form-control input-sm" name="status"> 
<?php 
    foreach ($statuses as $status => $name) { 
?> 
    <option value="<?php echo $status ?>" <?php echo $status === $row7['status'] ? 'selected="selected"' : '' ?>> 
     <?php echo $name ?> 
    </option> 
<?php 
    } 
?> 
</select> 
+0

如果选项名称不同的期权价值如何设置呢? – Sky

+0

Like:等等。 – Sky

+0

是的,您可以: 试试这个: '<?php $ statuses = array('draft'=>'something1','ordered'=> 'something2','shipped'=>'something3'); $ row7 ['status'] ='草稿'; ?> <选择类= “形式控制输入-SM” 名称= “状态”> <?PHP的 的foreach($状态为$状态=> $值){ ?> <选项值=” <?php echo $ value?>“<?php echo $ status === $ row7 ['status']? '选择= “选择”': '' >> <?PHP的echo $状态> ' –

1

也许这会有所帮助:

<?php 
switch ($row7["status"]) { 
    case 'draft': 
     $draft = "selected"; 
     $shipped = ""; 
     $ordered = ""; 
     break; 
    case 'ordered': 
     $ordered = "selected"; 
     $draft = ""; 
     $shipped = ""; 
     break; 
    case 'shipped': 
     $shipped = "selected"; 
     $draft = ""; 
     $ordered = ""; 
     break; 
    default: 
     $draft = ""; 
     $shipped = ""; 
     $ordered = ""; 
     break; 
} 
echo "<select class=\"form-control input-sm\" name = \"o_status\"> 
    <option value = \"draft\" $draft>draft</option> 
    <option value = \"ordered\" $ordered>ordered</option> 
    <option value = \"shipped\" $shipped>shipped</option> 
    </select>"; 
?>