如何在另一页中显示选项值

时间:2018-10-25 08:28:20

标签: php codeigniter

我在一个页面上选择了一个带有某些名称的下拉框,并将其正确保存在数据库中。但是,当我尝试编辑页面时,我得到了除下拉框(即“ nothing selected”选项中)以外的所有值,必须对我的代码进行哪些更改? 设计代码:

<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 :(得分:1)

尝试一下,这里的窍门是,您必须将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>

有关更多帮助,请参见下面的set_select()的codeigniter文档。 https://www.codeigniter.com/userguide3/helpers/form_helper.html?highlight=set_select#set_select

答案 1 :(得分:0)

好吧,如果您想获得所有值而不论其选择如何,我建议您使用一个隐藏字段:

<form ...>
    <input type="hidden" name="pcodes" value="<?=implode(',',array_column($PName,'pcode'))?>"/>
    <select>...

答案 2 :(得分:0)

尝试:

      <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 ?>