我有多个产品(比萨饼)记录,通过while循环从数据库中获取。当我通过ajax调用插入第一条记录时,它的工作正常,但是同时单击另一条记录时,它就行不通了。刷新而不插入第二条记录。希望您理解我的问题。 谢谢你
<form action="" method="POST" id="pizza_form" enctype="multipart/form-data">
<input type="hidden" name="product_id" id="product_id" value="<?php echo $product_id; ?>">
<input type="hidden" id="type" name="type" value="pizza">
<select class="form-control" id="a_set_of_values" name="a_set_of_values" required >
<?php
$q = "SELECT * FROM size WHERE product_id='$product_id'";
$r = mysqli_query($con, $q);
while($rows=mysqli_fetch_array($r)){
$size_id = $rows['size_id'];
$size = $rows['size'];
$price = $rows['price'];
?>
<option value="<?php echo $size_id;?> & <?php echo $price; ?>"><?php echo $size;?> : Rs <?php echo $price;?></option>
<?php } ?>
</select>
<button class="read_mor_btn" type="submit" name="submit" title="Add to Cart"><i class="fa fa-shopping-cart"></i>Add to Cart</button>
</form>
AJAX呼叫
<script type="text/javascript">
$(document).ready(function(e) {
$('#pizza_form').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: "ajax/pizza/insert_ajax.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
$("#success").show(data);
},
});
});
});
</script>
ajax / pizza / insert_ajax.php
$ip_address = getRealIpAddr();
$product_id = $_POST['product_id'];
$type = $_POST['type'];
//Get two values from select/option
$explode_fun = $_POST['a_set_of_values'];
$new_data = explode(' ', $explode_fun);
$size_id = $new_data[0];
$price = $new_data[2];
$insert = "INSERT INTO cart(product_id,size_id,product_price,ip_address,type)VALUES('$product_id','$size_id','$price','$ip_address','$type')";
$run2 = mysqli_query($con, $insert);
if ($run2===TRUE) {
echo json_encode(array("statusCode"=>200));
}
else
{
echo json_encode(array("statusCode"=>201));
}
}