【发布时间】:2015-03-23 07:34:00
【问题描述】:
我刚刚创建了一个数量下拉框,唯一的事情是当点击添加购物车按钮时,下拉框的数量或选择的值没有插入到表名购物车中,列数量请帮忙..下面是来自的代码functions.php 和 product.php
<div id="products_box">
<?php
$get_pro = "select * from products ";
$run_pro = mysqli_query($con, $get_pro);
while($row_pro=mysqli_fetch_array($run_pro)){
$pro_id = $row_pro['product_id'];
$pro_cat = $row_pro['product_cat'];
$pro_brand = $row_pro['product_brand'];
$pro_title = $row_pro['product_title'];
$pro_price = $row_pro['product_price'];
$pro_image = $row_pro['product_image'];
$pro_qty = $row_pro['product_qty'];
echo "
<div id='single_product'>
<h4>$pro_title</h4>
<img src='admin_area/product_images/$pro_image' width='180' height='80' />
<p><b> Php $pro_price.00</b></p>
<a href='details.php?pro_id=$pro_id' style='float:left;'>Details</a>
<select name='quantity'>";
for($i=1;$i<=$pro_qty;$i++) {
echo "<option value=$i>$i</option>";
}
echo "</select>
<a href='index.php'?pro_id=$pro_id'><button style='float:right'>Add to Cart</button></a>
</div>
";
}
?>
</div>
function cart(){
if(isset($_GET['add_cart'])){
global $con;
$ip = getIp();
$pro_id = $_GET['add_cart'];
$pro_qty = $_POST['quantity'];
$check_pro = "select * from cart where ip_add='$ip' AND p_id='$pro_id'";
$run_check = mysqli_query($con, $check_pro);
if(mysqli_num_rows($run_check)>0){
echo ""; //refresh or do nothing
}
else {
$insert_pro = "insert into cart(p_id,ip_add,qty) values ('$pro_id','$ip','$pro_qty')";
$run_pro = mysqli_query($con, $insert_pro);
echo "<script>window.open('index.php','_self')</script>";
}
} }
【问题讨论】:
-
你能试试这个 echo "";将其替换为 echo "";
-
值显示在下拉框中,问题是获取选定的值..
-
@ReniDelaCruzCalonge 看到你没有使用 sumbit 按钮来传递你的表单值,你正在使用 href 它不会携带表单值,
-
循环内容是否属于表单?对于您的情况,如果您想从服务器端的请求中获取数据,这里有三种方法 1.via form(post/get) 2.via href 方式 3.via ajax 方式。所以请告诉我你用的是哪种方式?我不知道你为什么在服务器端同时使用 $_GET 和 $_POST。@ReniDelaCruzCalonge