Получение правильной записи в раскрывающемся списке из MySQL - PullRequest
1 голос
/ 08 апреля 2010

Я использую форму, где пользователь может редактировать запись. Все заполнено, и все хорошо, за исключением того, что я не могу получить раскрывающийся список, чтобы показать проекту, которому уже назначено изображение.

$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 ]

3 голосов
/ 08 апреля 2010
{
    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.

0 голосов
/ 08 апреля 2010

bigstylee ответил правильно. Я также рекомендую разделить значения массива и вашей строки:

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

Также выпадет \ n. Вывод \ n не приведет к разрыву строки в браузере. И это не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...