Как распечатать список с выбранным значением из базы данных? - PullRequest
1 голос
/ 03 мая 2011

Я пытаюсь распечатать выпадающий список с выбранным значением из базы данных. result3 - Я выбираю значение «название компании» из базы данных, которая находится в той же строке, что и $ id2 .Мне нужно, чтобы это значение было выбрано. result2 - я выбираю все названия компаний.

result3 = mysql_query("SELECT company.company_id,customer.company_id, customer.customer_id, company.name 
FROM company INNER JOIN customer ON customer.company_id=company.company_id  WHERE customer_id='$id2'") or die(mysql_error());
$row3 = mysql_fetch_assoc($result3);
$result2 = mysql_query("SELECT company_id, name FROM company") or die(mysql_error());
  if(mysql_num_rows($result2) > 0)
  {
    while($row2 = mysql_fetch_assoc($result2))
    {
    echo'<option selected="'.$row3['name'].'" value="'.$row2['company_id'].'">'.$row2['name'].'</option>';
    }
  }

Проблема с моим кодом заключается в том, что каждый раз, когда выбранное значение является последним в списке.

Я посмотрел на свой кодисходный код и там все в порядке.

Вот исходный код, и это, как я должен был быть.(но мой код возвращает выбранное значение как «Facebook» - последнее в списке)

<select name="operation">
<option selected="Google" value="1">Microsoft</option>
<option selected="Google" value="2">IBM</option>
<option selected="Google" value="3">Google</option>
<option selected="Google" value="4">Lexy</option>
<option selected="Google" value="5">Facebook</option>   
</select>

1 Ответ

4 голосов
/ 03 мая 2011

Выбранный атрибут должен применяться только к одной опции в списке.

<option selected="selected">

должен вызывать выбор этой единственной опции.

Так что в цикле while вам нуженif оператор что-то вроде этого:

 while($row2 = mysql_fetch_assoc($result2))
 {
     if($row2['name'] == $row3['name']){
          $selected = "selected='selected'";
     }else{
          $selected = "";
     }
     echo'<option ' . $selected . ' value="'.$row2['company_id'].'">'.$row2['name'].'</option>';
}

Таким образом, будет выбрано только то значение, которое вы хотите выбрать.

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