从复选框输入PHP表单将多个项目插入到一个ID MySQL中

时间:2016-10-06 10:51:06

标签: php mysql arrays for-loop

我非常需要这个解决方案。 这是我要检查的图像: enter image description here

这是订单ID。这将是所有问题标题的共同点。

会像那样插入:

enter image description here

以下是我使用的代码:

  if(isset($_POST['Submit'])){
    try{
    $orderNo = $_SESSION['orderNo'];
    $serviceTitle=$_POST['serviceTitle'];
    $price= $_POST['price'];    
    $quantity= $_POST['quantity'];  
    $amount= $_POST['amount'];

    for ($i=0; $i<count($serviceTitle); $i++){
        $statement = $db->prepare("INSERT INTO invoice (orderNo,productName,price,quantity,amount) VALUES (?,?,?,?,?)");
        $statement->execute(array($orderNo,$serviceTitle[$i],$price[$i],$quantity[$i],$amount[$i]));
    }

    header("location: order_confirm_tech_step1.php");
    }
    catch(Exception $e) {
            $error_message = $e->getMessage();
    }
}

我使用的每个数组输入如:name =“serviceTitle []”。 在此先感谢。

1 个答案:

答案 0 :(得分:1)

为什么不试试这个,检查在执行查询之前是否选中了复选框

if(isset($_POST['Submit'])){
    try{
    $orderNo = $_SESSION['orderNo'];
    $serviceTitle=$_POST['serviceTitle'];
    $price= $_POST['price'];    
    $quantity= $_POST['quantity'];  
    $amount= $_POST['amount'];

    for ($i=0; $i<count($serviceTitle); $i++){
       if(!empty($_POST['checkbox'][$i])) {
            $statement = $db->prepare("INSERT INTO invoice (orderNo,productName,price,quantity,amount) VALUES (?,?,?,?,?)");
            $statement->execute(array($orderNo,$serviceTitle[$i],$price[$i],$quantity[$i],$amount[$i]));
        }
    }

    header("location: order_confirm_tech_step1.php");
    }
    catch(Exception $e) {
            $error_message = $e->getMessage();
    }
}

注意:name =“checkbox []”