как отобразить значение параметра на другой странице - PullRequest
0 голосов
/ 25 октября 2018

У меня есть выпадающий список с именем, которое выбрано на одной странице и правильно сохраняется в базе данных.Но когда я пытаюсь отредактировать страницу, я получаю все значения, кроме этого выпадающего списка (то есть в опции «ничего не выбрано»), какие изменения нужно внести в мой код?Код проекта:

<option value="select"></option>
<?php foreach ($PName as $row ): ?> 
    <option value="<?=$row['pcode']?>" <?php echo set_select('PName', $row['pcode']); ?>> 
        <?=$row['PName']?></option> 

    <?php endforeach ?>

код контроллера:

$query = $this->db->get('parmaster');    
$data['PName']=$query->result_array();

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

попробуйте это, вот хитрость в том, что вы должны передать первый аргумент set_select () имени тега select, в вашем случае это 'PName'

    <select id="PName" name="PName">
        <?php 
           foreach ($PName as $row ): 
        ?> 
          <option value="<?=$row['pcode']?>" <?php echo set_select('PName', $row['pcode'], False); ?>> 
                 <?=$row['PName']?>
          </option> 

        <?php endforeach ?>
    </select>

см. Ниже документацию codeigniter для set_select() для получения дополнительной помощи https://www.codeigniter.com/userguide3/helpers/form_helper.html?highlight=set_select#set_select

0 голосов
/ 25 октября 2018

попробуй:

      <option value="">---</option>
 <?php $selected = ($row['pcode'] == your selected data ) ? true : false; ?>
      <?php foreach ($PName as $row ): ?> 
      <option value="<?=$row['pcode']?>" <?php set_select('PName', $row['pcode'], $selected);  ?>> 
                <?=$row['PName']?>
      </option> 
<?php endforeach ?>
0 голосов
/ 25 октября 2018

Ну, если вы хотите получить все значения независимо от их выбора, я бы предложил иметь скрытое поле:

<form ...>
    <input type="hidden" name="pcodes" value="<?=implode(',',array_column($PName,'pcode'))?>"/>
    <select>...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...