我正在开发此处,输入产品名称,详细信息将显示在其他输入字段中。我可以使用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);
}
?>
答案 0 :(得分:0)
尝试此更改,
$('#search_prod_name').change(function() {
到此,
$('#search_prod_name').keydown(function() {
还将您的SQL查询更改为使用直接在mySQL查询中使用变量的预准备语句,打开使用MySQL注入方法攻击的系统。
同样删除PHP中不必要的空格只是保持简单。