我想基于另一个输入字段填充表单输入

时间:2017-08-09 09:29:41

标签: php jquery mysql json

我正在开发此处,输入产品名称,详细信息将显示在其他输入字段中。我可以使用jquery自动完成选择产品名称。

以下是我的代码。请问我的代码真的有什么问题,因为它可以运行一次并停止。

我的HTML

<label for="inputEmail3" class="col-sm-2 control-label">Product Name</label>
<div class="col-sm-4 ui-widget">
<input type="text" class="form-control" placeholder="Name of Product" name="search_prod_name" id="search_prod_name">
<div id="product_List">
</div>
</div>

JQUERY

<script> 
$(document).ready(function(){

    $('#search_prod_name').change(function() {
        var prodd_name = $(this).val();
        $.ajax({
                url:"select_for_sell.php",
                method: "POST",
                data:{prodd_name: prodd_name},
                dataType: "JSON",

                success:function(data) {
                    $('#pro_cat').val(data.pro_cat);
                    $('#product_name').val(data.product_name);
                    $('#manu_name').val(data.manu_name);
                    $('#supp_name').val(data.supp_name);
                    $('#unit_sell_price').val(data.unit_sell_price);
                    $('#manu_dt').val(data.manu_dt);
                    $('#expiry_dt').val(data.expiry_dt);
                    $('#qty_in_stock').val(data.qty);
                }
        }); 
    }); 
}); 
</script> 

我的PHP

<?php 

include_once('conn/conn.php');
if(isset($_POST["prodd_name"])) {
    $query_product = "SELECT * FROM sellnsell_products WHERE product_name = '". $_POST["prodd_name"]."' ";
    $result_product = mysqli_query($cnn, $query_product);
    while($rrow = mysqli_fetch_array($result_product)) {
        $data["pro_cat"]            = $rrow["product_cat"];
        $data["product_name"]       = $rrow["product_name"];
        $data["manu_name"]      = $rrow["manu_name"];
        $data["supp_name"]      = $rrow["supp_name"];
        $data["unit_sell_price"]    = $rrow["unit_sell_price"];
        $data["qty_in_stock"]   = $rrow["qty"];
        $data["manu_dt"]            = $rrow["manu_dt"];
        $data["expiry_dt"]      = $rrow["expiry_dt"];

    }
    echo json_encode($data);
}
?>

1 个答案:

答案 0 :(得分:0)

尝试此更改,

$('#search_prod_name').change(function() {

到此,

$('#search_prod_name').keydown(function() {

还将您的SQL查询更改为使用直接在mySQL查询中使用变量的预准备语句,打开使用MySQL注入方法攻击的系统。

同样删除PHP中不必要的空格只是保持简单。