0

我正在寻找一些方法来根据 mysql 的结果选择一个 php 组合框“<select>”。

实际上,我正在开发一个 php 表单,该表单将用于编辑 mysql 表中的现有值。我的第一个表单将简单地传递要编辑的记录的 id,这类似于 <a href="editCalendar.php?id=15">点击编辑</a>

editCalendar.php 上的代码如下:

<?php
    include("dbpath.php");
    $id =  htmlspecialchars($_GET["id"]);

    $sql="Select * from event_Date where eventid=" . $id;
    $result=mysql_query($sql);

    // Check result
    // This shows the actual query sent to MySQL, and the error. Useful for debugging.
    if (!$result) 
    {
        $message  = 'Invalid query: ' . mysql_error() . "\n";
        $message .= 'Whole query: ' . $query;
        die($message);
    }

    while($row = mysql_fetch_assoc($result))
    {
    $name=$row["EventTitle"];
    $close=$row["OpenOrClose"];
    $remarks=$row["Remarks"];
    $date=$row["EventDate"];
    $type=$row["Type"];
    }
?>

中获得的值$close将用于在同一表单上选择“SelectClosedOrOpen”,即用户将从填充的列表中获得预先选择的选项。

<select id="SelectClosedOrOpen">
<option value="3">Select</option>
<option value="0">Open</option>
<option value="1">Closed</option>
</select>

意味着,如果$close有 0,则<option value="0">Open</option>必须选择,否则如果 $close 有 1,<option value="1">Closed</option>则应在表单加载时自动选择。

4

2 回答 2

2

您只需要在selected其中写入属性。试试这个

<select id="SelectClosedOrOpen">
<option value="3" <?php echo ($close == 3) ? 'selected="selected"': ''; ?>>Select</option>
<option value="0" <?php echo ($close == 0) ? 'selected="selected"': ''; ?>>Open</option>
<option value="1" <?php echo ($close == 1) ? 'selected="selected"': ''; ?>>Closed</option>
</select>
于 2012-08-13T12:25:50.637 回答
0

几年前我创建了这个函数。我希望它对你有帮助。它基本上需要您的选项数组和要预先选择的选项的值。它为您的选择返回 OPTIONS,因此您仍然需要创建 SELECT 标签,它允许您自定义 ID、JS 等。

function drop_down_box_options_from_array($choices,$default="") 
{
        $output= '';
        // $choices is contructed using $choices[]=array("value","Displayed Choice");
        while (list ($key, $val) = each ($choices))
        { 
                $output.= '<option value="';
                $output.= $choices[$key][0];
                if ($default==$choices[$key][0])
                {
                        $output.= '" selected="selected" >';
                }
                else
                {
                        $output.= '">';
                }
                $output.= $choices[$key][1];
                $output.= '</option>';
                $output.= "\n";
        }
        return $output;
}

使用您的场景:

<select id="SelectClosedOrOpen" name="OpenOrClose">
<?php
// defined here for clarity, but can be defined earlier ie in a config file
$choices[]=array('3', 'Select');
$choices[]=array('0', 'Open');
$choices[]=array('1', 'Closed');
echo drop_down_box_options_from_array($choices, $row['OpenOrClose']);
?>
</select>
于 2012-08-13T12:29:31.147 回答