从mysql的下拉列表中抓取正确的记录

时间:2010-04-08 18:29:41

标签: php select drop-down-menu

我正在使用用户可以编辑条目的表单。一切都在填充,一切都很好,除了我无法获得下拉菜单以显示他们已经分配了图像的项目。

$project_qry = "SELECT * from projects ORDER BY title ASC";
$project_res = mysql_query($project_qry);

$project_drop = "<select name=\"project_id\">\n";
while ($row = mysql_fetch_array($project_res))
    {
    if ($project_id == $row[title])
        {
            $project_drop .= "<option value=\"$row[id]\" selected>$row[title]</option>\n";
        }
    else
        {
            $project_drop .= "<option value=\"$row[id]\">$row[title]</option>\n";
        }
}
$project_drop .= "</select>\n";

我确定这是一件非常简单的事,但我很难过。

2 个答案:

答案 0 :(得分:3)

{
    if ($project_id == $row[id])
        {
            $project_drop .= "<option value=\"$row[id]\" selected=\"selected\">$row[title]</option>\n";
        }
    else
        {
            $project_drop .= "<option value=\"$row[id]\">$row[title]</option>\n";
        }
}

您需要比较值而不是标题。它是发布的值($ _POST)

selected =“selected”使其符合XHTML。

答案 1 :(得分:0)

bigstylee回答正确。我还建议将数组的值和字符串分开:

$project_drop .= "<option value='". $row['id'] ."'>".$row['title']."</option>";

也放弃\ n。输出\ n不会在浏览器中生成换行符。这是不必要的。