2016-03-28 3 views
0

У меня есть следующий выпадающий список:Keep значения выпадающего списка после неудачной проверки формы CI

<select name="technology" class="form-control"> 
<option value=""></option> 
<?php 
foreach ($technology as $each) { 
    ?> 
    <option value="<?=$each['technology']?>"><?=$each['technology']?></option> 
    <?php 
} 
?> 
</select> 

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

<select name="category" class="form-control"> 
<option value=""></option> 
<?php 
foreach ($category as $each) { 
    ?> 

    <option value="<?=$each['category']?>"<?php echo set_select('category', '$each["category"]'); ?> ><?=$each['category']?></option> 
    <?php 
} 
?> 
</select> 

Есть несколько выпадающие на странице я Populating из базы данных. Любая идея, что я делаю неправильно?

ответ

2

Что о некоторой коррекции в синтаксисе:

<select name="category" class="form-control"> 
<option value=""></option> 
<?php 
foreach ($category as $each) { 
?> 
<option value="<?php echo $each['category']; ?>"<?php echo set_select('category', $each["category"]); ?> ><?php echo $each['category']; ?></option> 
<?php 
} 
?> 
</select> 
+1

Неа, не работает –

+0

Пожалуйста попробуйте отредактированный ответ :) Я предполагаю, что проблема с единственными цитатами, добавленными вами к переменным PHP внутри set_select dude –

+1

Да, я видел это :) Я тоже попробую EDIT: Да, это тоже работает. к ответу, который я искал. Я отмечу это как правильный ответ. Спасибо :) –

1

Вы можете использовать так:

Пример области технологии:

<option <?=((isset($_POST['technology']) && $_POST['technology'] == $each['technology']) ? 
    'selected=""' : '')?> 
    value="<?=$each['technology']?>"><?=$each['technology']?></option> 
+1

Это сделал это для меня, спасибо :) –

0
Use this code if you return array using result_array() in model; 

    <select name="category" class="form-control"> 
    <option value=""></option> 
    <?php 
    foreach ($category as $each) { 
     ?> 

     <option value="<?=$each['category']?>"<?php echo set_select('category', '$each["category"]'); ?> ><?=$each['category']?></option> 
     <?php 
    } 
    ?> 
    </select> 


Use this code if you return array using result() in model; 

    <select name="category" class="form-control"> 
    <option value=""></option> 
    <?php 
    foreach ($category as $each) { 
     ?> 

     <option value="<?=$each->category?>"<?php echo set_select('category', '$each->category'); ?> ><?=$each->category?></option> 
     <?php 
    } 
    ?> 
    </select> 
0

Вы можете попробовать самый простой способ

model.php

$ this-> db-> где ('item', $ value); return $ this-> db-> get ('table') -> result();

view.php

$ значение):> " ': '?'. >>

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