2016-06-28 6 views
2

У меня проблема, когда я хочу сохранить пользовательский ввод, а затем разрешить им позже его редактировать.<select> Значение по умолчанию

, когда я перечисляю результаты для их редактирования, не является значением по умолчанию. Функция

<select id="edit_group" name="edit_group" class="form-control"> 
<?php Types("") ?> 
</select> 

типов

function Types($x){ 

global $mysqli; 

    $type = " SELECT type FROM types "; 

    if ($type_results = $mysqli->query($type)) { 

     while ($row = $type_results->fetch_assoc()) { 
     printf ("<option>%s</option>", $row["type"]); 
     } 

     $type_results->free(); 

     } 

} 

если кто-то может мне точку в правильном направлении, как я мог бы установить значение по умолчанию, чтобы его один хранится в БД, это действительно поможет начинающему из , или еще лучше указать мне в правильном направлении документации, поскольку мои поисковые запросы Google не вернули ничего, кроме json и java.

+0

'if ($ row ['type'] == 'ранее выбранное значение') {add 'selected' attribute to option}' –

+0

Где в вашем коде вы определяете, какой из них хранится в db? Вам необходимо передать это значение вашей функции «Типы», чтобы узнать, какая опция должна быть отмечена как выбрана. –

+0

У меня есть значение и можно передать его с легкостью, но я не могу подумать, как сделать это значение по умолчанию – ItsLewis

ответ

1

Вы не используете аргумент $x вашей функции Types, которая, как я думаю, является выбранным значением. Попробуйте заменить функцию с этим кодом:

function Types($x) {  
    global $mysqli; 

    $type = " SELECT type FROM types "; 

    if ($type_results = $mysqli->query($type)) { 
     while ($row = $type_results->fetch_assoc()) { 
      $selected = ($row["type"] == $x) ? 'selected="selected"' : ''; 
      printf ("<option %s>%s</option>", $selected, $row["type"]); 
     } 

     $type_results->free(); 
    }  
} 

и, конечно, обеспечить выбранное значение для функционирования Types в вашем HTML коде.

+0

Вы, сэр, волшебник! Так благодарен! мой мозг ошеломлен, хотя $ selected = ($ row ["type"] == $ x)? 'selected = "selected"': ''; Что это за линия? Не могли бы вы связать меня с некоторыми документами по этому поводу? – ItsLewis

+0

Это тройной оператор (http://php.net/manual/en/language.operators.comparison.php). Короче говоря, он равен if ($ row ["type"] == $ x) {$ selected = 'selected = "selected"'; } else {$ selected = ''; }. – zajonc

+0

вот почему мой мозг был ошеломлен! Я знал, что это было что-то более простое, но не могло найти того, что оно было вызвано еще раз! – ItsLewis

Смежные вопросы