如何从左联接表中获得下拉值

时间:2019-06-22 02:19:21

标签: php jquery ajax

当我从左联接表,产品表(https://ibb.co/zbpJP0z)和服务器场表(https://ibb.co/gMKySpP)的数据库中获取值时,我遇到了问题

我尝试从下拉列表中获取值,但该值始终来自联接表

这是我的表单代码

<form class="mb-2" id="addproductform"  method="post" enctype="multipart/form-data">
 <div class="form-group">
  <label for="serial-number">Serial Number:</label>
        <select class="serial-number form-control" name="serial-number" class="custom-select mb-3" id="newval">
        <option>Serial Number</option>
                  <?php $q=mysqli_query($link,"SELECT produk.nama FROM produk LEFT JOIN farm ON produk.SN=farm.SN WHERE username=\"$_SESSION[username]\"");
        while($d=mysqli_fetch_row($q)) {
            echo "<option value=$d[0]>$d[0]</option>";
        }    ?>
        </select>
    </div>
 </form>

................................. 这是一个jQuery代码

$(document).ready(function(e){
$("#save_addPlant").click(function(e){
            e.preventDefault(); 
            console.log("submit productform");
                    $("select.serial-number").change(function(){ 
            var tp = $(this).children("option:selected").val();
                });
                  namafarm=$("option:selected").val();
                  console.log(namafarm);
     });

});

当我在下拉列表中显示produk.nama时,如何从farm.SN中获取值?

1 个答案:

答案 0 :(得分:0)

您的代码中有2个地方需要更改。

  1. 您正在select标签中使用2个类属性。第二 类属性将无法正常工作。所以你必须结合2类 属性放入1。
  2. 您仅在选择查询中选择produk.nama列。您 还必须选择produk.SN列。

用下面的代码替换您的 select 块并检查其是否有效。

<select class="custom-select mb-3 form-control serial-number" name="serial-number" class="" id="newval">
<option>Serial Number</option>
<?php 
    $q = mysqli_query( $link, "SELECT produk.SN,produk.nama FROM produk INNER JOIN farm ON produk.SN = farm.SN WHERE username = \"$_SESSION[username]\"" );
    while($d=mysqli_fetch_row($q)) {
        echo "<option value=$d[0]>$d[1]</option>";
    }    
?>