在PHP中的下拉列表中重复所选项目

时间:2015-02-27 08:45:30

标签: php drop-down-menu

我遇到这个问题,我的下拉列表中的选定值显示两次。我该怎么办才能只显示一次。

 <td>
    <select class="span8" style="width:100%" name="from_time[]" id="from_time<?php echo $count;?>"  value="start_from" onchange="calculate_by_ajax(this.id);">
        <option value="<?php 
        $start_from=$jobs_result['start_from']; 
        //$date_arr_to= explode(" ", $start_from);
        //$date_to= $date_arr_to[0];
        //$time_to= $date_arr_to[1];
        $sec="SELECT DATE_FORMAT('$start_from', '%H:%i') as tp";
        $sec_exe=mysql_query($sec);
        $sec_res=mysql_fetch_array($sec_exe);
        ?>" selected="selected">
        <?php echo $sec_res['tp']; ?></option>
        <?php include("list.php"); ?>           
    </select>
</td> 

1 个答案:

答案 0 :(得分:0)

知道了,而不是修改其中一个可用选项并将其标记为已选择,您实际上是在代码中添加了另一个选项。

您可以将list.php更改为这样(即所有时间的数组)

<?php 
    $drop_down_values = array('11:35', '11:36', '11:27'); 
?>

然后你的代码应该是这样的:

<?php 
    include("list.php");
    $start_from=$jobs_result['start_from']; 
    $sec="SELECT DATE_FORMAT('$start_from', '%H:%i') as tp";
    $sec_exe=mysql_query($sec);
    $sec_res=mysql_fetch_array($sec_exe);
?>
<td>
    <select class="span8" style="width:100%" name="from_time[]" id="from_time<?php echo $count;?>"  value="start_from" onchange="calculate_by_ajax(this.id);">
        <?php foreach ($drop_down_values as $value) {
            if ($value == $sec_rec) { 
                echo "<option selected=\"selected\">$value</option>";
            } else {
                echo "<option>$value</option>";
            }
        }
        ?>
    </select>
</td> 
相关问题