【问题标题】:Edit selected value from database编辑从数据库中选择的值
【发布时间】:2016-07-20 21:42:52
【问题描述】:

这总是从我的数据库中选择最后一条记录。

这是我的选择标签:

 <select name="t_proyek_kd_proyek" id="t_proyek_kd_proyek" class="select-search"  />
        <option value=""></option>
        <?php 
        $t_cost=$this->db->query("select * from t_proyek ");

        foreach($t_cost->result() as $value){
          $selected= '';
          if($t_proyek_kd_proyek == $value->nm_proyek){
            $selected = 'selected';
          }

        ?>
          <option  value="<?php echo $value->kd_proyek; ?>"  echo ' selected="selected"'; >
            <?php echo $value->nm_proyek; ?>
          </option>
       <?php }?>

      </select>

这是我的控制器:

$row = $this->T_cost_model->get_by_id($id);

    if ($row) {
        $data = array(
            'button' => 'Update',
            'action' => site_url('konsultan/cost/update_action'),
    'kd_cost' => set_value('kd_cost', $row->kd_cost),
    'investasi_awal' =>rupiah(set_value ('investasi_awal', $row->investasi_awal)),
    'b_operasional' => rupiah(set_value('b_operasional', $row->b_operasional)),
    'g_cost' => rupiah(set_value('g_cost', $row->g_cost)),
    'disbenfit' => rupiah(set_value('disbenfit', $row->disbenfit)),
    'pwc' => set_value('pwc', $row->pwc),
    't_proyek_kd_proyek' => set_value('t_proyek_kd_proyek', $row->t_proyek_kd_proyek),
    );
        $this->load->view('konsultan/t_cost_form', $data);

【问题讨论】:

  • 嗨!你能告诉我们在第二个代码块中设置 $row 变量的代码吗?
  • 只是快速浏览一下这里,问题可能是您说的是 selected = selected 或 selected = ''(空白)。这是错误的语法。如果您想选择某个值,您只需选择单词,例如 。此外,您没有使用 $selected 变量和 echo 'selected="selected"';声明不在 php 标签内。
  • FrankT 你是什么意思?对不起,我只是在这里卡勒姆的初学者。你能告诉我怎么做吗
  • 你能在 foreach 之前打印 $t_proyek_kd_proyek 并在此处更新值吗
  • 可能是这个原因我使用了 2 个差异表???

标签: php html mysql codeigniter


【解决方案1】:

在您的 HTML 中,您的最后一个 option 标记明确设置了 selected="selected"

option  value="<?php echo $value->kd_proyek; ?>"  <?php echo 'selected="selected"'; ?>

将其包装在一个条件中,并且从循环中选择的选项应该可以工作。

option  value="<?php echo $value->kd_proyek; ?>"  <?php if ($selected) echo 'selected="selected"'; ?>

【讨论】:

  • 查看生成的 HTML,看看是否没有、部分或全部 option 标记具有 selected 属性?
  • 我只想从数据库中显示表不同的选项
  • 您需要查看当前输出的内容,以找出您做错了什么。
  • 输出总是从数据库中获取最后一条记录
  • 我要求您查看(并希望向我们展示)HTML 输出。 实际 HTML,而不是像“总是得到最后一条记录”这样的观察。我怀疑你会看到不止一个option 具有selected 属性。
【解决方案2】:

像这样更改您的 &lt;select&gt; html 代码值

  <select name="t_proyek_kd_proyek" id="t_proyek_kd_proyek" class="select-search"  />
        <option value=""></option>    
    foreach($t_cost->result() as $value){
              $selected= '';
              if($t_proyek_kd_proyek == $value->nm_proyek){
                $selected = ' selected="selected" ';
              }

            ?>
              <option  value="<?php echo $value->kd_proyek; ?>"  <?=  $selected?> >
                <?php echo $value->nm_proyek; ?>
              </option>
           <?php }?>

          </select>

希望对你有帮助

【讨论】:

  • 在这里引入短标签是个坏主意。
  • 这不是一个短标签,这是一个表达式,它将支持所有 php web 服务器。
  • naisa@我不明白
猜你喜欢
  • 2018-12-01
  • 1970-01-01
  • 2013-03-01
  • 2019-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 1970-01-01
相关资源
最近更新 更多