繁体   English   中英

无法在选择选项中显示查询结果

[英]Can't show the query result in select option

UPDATE

我正在使用codeigniter,我有这样简单的选择选项:

<select id="field_' + count + '" name="fields[]' + '"  class="form-control no_inv" >
  <?php 
    $jj = "<script>var e = document.getElementById('id_barang').value;document.write(e);</script>"; 
    $noInv = $this->modelku->select_inv($jj); 
  ?> 
    <option value="" selected="selected" disabled>Pilih no inventaris</option> 
  <?php 
    foreach($noInv->result() as $inv){ ?> 
      <option value="<?php echo $inv->no_inv ?>">
        <?php echo $inv->no_inv ?>
      </option><?php } 
   ?>
</select><br>

这是我的id = id_barang html元素:

 <select name="id_barang" id="id_barang" class="form-control">
    <?php $idBarang = $this->modelku->select_idBrang() ?>
    <?php foreach($idBarang->result() as $idBr){ ?>
        <option value="<?php echo $idBr->id_barang ?>"><?php echo $idBr->id_barang ?></option>
    <?php } ?>
</select required>

来自modelku的select_inv函数:

public function select_inv($idbrang)
{
    $this->db->select("no_inv");
    $this->db->from('detail_barang');
    $this->db->where('kondisi', 'Ada');
    $this->db->where('id_barang ', $idbrang);
    $query = $this->db->get();
    return $query;
}

但是,当我单击选择选项时,no_inv中的值不会出现在我的选择选项中?

在此输入图像描述

有人可以帮我吗?

问题在于在手写的where子句中使用变量$idbrang 要使用变量更改该行

$this->db->where("kondisi = 'Ada' AND id_barang = '$idbrang' ");

$this->db->where('kondisi', 'Ada');
$this->db->where('id_barang ', $idbrang);

更多信息在这里

注意:在OP完全改造之前我给出了这个答案

您不能使用javascript为PHP变量赋值,因为它们具有不同的执行时间,并且当您使用脚本标记时,除非浏览器加载它,否则它将只是一个PHP字符串。 我认为您需要更改此值以使用PHP值进行分配。

你不能这样做:

<select id="field_' + count + '" name="fields[]' + '"  class="form-control no_inv" >
  <?php 
    $jj = "<script>var e = document.getElementById('id_barang').value;document.write(e);</script>"; 
    $noInv = $this->modelku->select_inv($jj); 
  ?>
<!-- // ... -->
</select>

因为PHP $jj变量的内容是纯文本,所以它不会选择#id_barang值。 $jj将完全返回您放入引号的内容。

实现预期目标的一种方法是使用Ajax使用POST / GET方法将javascript值传递给PHP文件 这里有更多细节

这个: id="field_' + count + '" name="fields[]' + '"也不会起作用,因为你在javascript中使用了一个javascript变量。 您可以使用纯JavaScript将您的选择ID设置为<script>标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM