Php 如何获取所选下拉框的值并插入数据库?
我刚刚创建了一个数量下拉框,唯一的事情是当点击添加购物车按钮时,数量或下拉框的选定值没有插入到表名购物车中,列为“数量请帮助…”。。下面是functions.php和product.php中的代码Php 如何获取所选下拉框的值并插入数据库?,php,mysql,Php,Mysql,我刚刚创建了一个数量下拉框,唯一的事情是当点击添加购物车按钮时,数量或下拉框的选定值没有插入到表名购物车中,列为“数量请帮助…”。。下面是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
<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>";
}
你能试试这个吗
<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 "
<form method='post' action='index.php'>
<input type='hidden' value= '".$pro_id."' name ='pro_id' />
<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>
<input type='submit' name='add' value='Add to Cart'>
</div>
</form>
";
}
?>
</div>
function cart(){
if(isset($_GET['add_cart'])){
global $con;
$ip = getIp();
$pro_id = $_POST['pro_id'];
$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>";
}
}
}
你能试试这个回声“$i”吗;将其替换为回显“$i”;值显示在下拉框上,问题是获取所选值。@ReniDelaCruzCalonge请注意,您不是使用sumbit按钮传递表单值,而是使用href,它不会携带表单值,循环内容是否属于表单?对于您的情况,如果您希望从服务器端的请求中获取数据,这里有三种方法1.via form(post/get)2.via href way 3.via ajax way。那么请告诉我你用了哪种方法?我不知道您为什么在服务器端同时使用$\u GET和$\u POST。@ReniDelaCruzCalongei现在有两个按钮没有发生任何事情,没有插入任何按钮。。我试过这个。插入的不是a href='index.php'?pro_id=$pro_id',而是记录,但qty的值为0。在上一种情况下,您没有提交表单,而是重定向表单。我得到的答复是,我的工作很好。您是否尝试过在index.php上打印输入值?顺便问一句,我是否应该更改if(isset($\u GET['add\u cart']){to POST?请删除基于@bablu代码的if(isset($\u GET['add\u cart'])判断并再次测试。