2015-07-13 7 views
1

Я пытаюсь получить выбранную опцию в select, мне нужно сделать выбор из моей базы данных и использовать id, чтобы отметить, какая категория установлена.Как установить выбранную опцию

echo"<select>"; 
while ($row = mysql_fetch_array($rezultat1)) 
{ if ($row['biljka_id']==$GET['b']) { 
echo "<option value=".$row['biljka_id']." selected='selected' >".$row['naziv']."</option>"; 
} else { echo "<option value=".$row['biljka_id'].">".$row['naziv']."</option>"; 
} 
echo"</select>"; 

ответ

0

Ниже приводится короткий код.

Вам не нужно использовать инструкцию if else, поскольку вам нужно оправдать только одну переменную в зависимости от состояния.

Вы можете сделать это с помощью тройного оператора.

<?php 
echo "<select>"; 
while ($row = mysql_fetch_array($rezultat1)) { 
    $selected = ($row['biljka_id']==$GET['b']) ? 'selected="selected"' : ''; 
    echo "<option value=".$row['biljka_id']. $selected ">".$row['naziv']."</option>"; 
} 
echo"</select>"; 
?> 

Rererence

0

Вы не правильно закрыть while петлю или else часть вашей, если, в зависимости от того, как вы смотрите на него. Кроме того, почему бы не использовать конкатенацию. Таким образом, вы можете переписать код следующим образом:

$selectStr = ''; 
$selectStr .= "<select>"; 
while ($row = mysql_fetch_array($rezultat1)) 
{ 
    if ($row['biljka_id']==$GET['b']) 
    { 
     $selectStr .= "<option value='".$row['biljka_id']."' selected='selected' >".$row['naziv']."</option>"; 
    } 
    else 
    { 
     $selectStr .= "<option value='".$row['biljka_id']."'>". $row['naziv']. "</option>"; 
    } 
} 
$selectStr .= "</select>"; 

echo $selectStr; 
Смежные вопросы