PHP和mysql复选框插入

时间:2014-03-17 16:02:39

标签: php mysql checkbox

我正在开发一个项目,我需要将多个复选框和文本框的值(从产品列表中)传递到数据库上的表(new_orders)。

我设法创建从表格文章中检索产品的列表,但是我无法插入我选择的产品以及我在数据库中插入表new_orders的数量。

以下是代码:

foreach($A_result as $key => $value) // για χρηση όλων των αντικειμένων του πίνακα A_apotelesma
{


// shows al the products
    echo "<tr> 
              <td align=center>".$j++."</td>
              <td align=center>".$value['name']."</td>
              <td align=center>".$value['price']."</td> ";

echo"<td> // each product has a checkbox and a text box to enter the quantity

            <input type=checkbox name=\"article[]\"></input>
            <input type=text name='quantity_".$value['id_article']."' size='3' maxlength='2'>
         </td>";

    echo"<td><input type='hidden' name='id_article' value=".$value['id_article']."></td>"; 
    echo"<td><input type='hidden' name=\"code_user\" value=\"code_user\"></td>"; 

    echo"</tr>";
}
}

?>  

 // The form above redirects to the insert_order.php page:


<?php

include("conn.php");

session_start();

$checkbx=$_POST['article'];

if($_POST['article']){

for($i=0;$i<sizeof($checkbx);$i++){

$quantity=$_POST['quantity_.$id_article'];

$username=$_SESSION['logged_user_username'];

$insert_order_query= "INSERT INTO new_orders (id_article, quantity, username) VALUES (".$id_article.",".$quantity.", '".$username."')";
//echo $insert_order_query;
$insert_order=mysql_query($insert_order_query) or die('Error,query failed!!'); 
 if ($insert_order)
     echo '<script language="javascript">alert("New order created!"); document.location="logged_in_user.php?menu=1";</script>';
 else
 {
    echo '<script language="javascript">alert("The order has not been created.")</script>';
    echo '<script language="javascript"> document.location="logged_in_user.php?menu=1.php"; </script>';
    exit();
 }
}
}

?>

我总是收到错误消息。

2 个答案:

答案 0 :(得分:0)

中缺少单个qoutes
$insert_order_query= "INSERT INTO new_orders (id_article, quantity, username) VALUES (".$id_article.",".$quantity.", '".$username."')";

尝试类似

的内容
$insert_order_query= "INSERT INTO new_orders (id_article, quantity, username) VALUES ('".$id_article."','".$quantity."', '".$username."')";

但是回显$ insert_order_query

在这里粘贴你得到的东西 - 调试说明了很多:)

编辑

特别是回显你的数量

答案 1 :(得分:0)

那是因为     $quantity=$_POST['quantity_.$id_article']; 应该     $quantity=$_POST['quantity_'.$id_article];