【问题标题】:Adding checkbox array into one row of sql database将复选框数组添加到一行sql数据库中
【发布时间】:2011-05-04 09:31:30
【问题描述】:

我有一个名为 extras[] 的复选框数组。它采用提交形式,并带有一大堆其他值,即名称等。

我的问题是我无法获取要添加到数据库的复选框值。 *注意 6 个复选框,其中所有、无或部分可能被选中。

这是我的代码

 $q="INSERT INTO bs_reservations (dateCreated, name, email, phone, comments,status,eventID, qty,dropoff,deodoriser,carpet,carpetrepair,furniture,tabs,urine,price,duration,suburb,postcode,pickup) 
VALUES (NOW(),'".$name."','".$email."','".$phone."','".$comments."','1','".$eventID."','".$qty."','".$dropoff."','{$extras[0]}','{$extras[1]}','{$extras[2]}','{$extras[3]}','{$extras[4]}','{$extras[5]}','".$price."','".$duration."','".$suburb."','".$postcode."','".$pickup."')";
    $res=mysql_query($q) or die("error!");
    $orderID=mysql_insert_id();

【问题讨论】:

  • 不知道如何将值输入这些变量,或者提交时是否有任何内容。
  • 我有一个单独的表格。目前所有值都可以正常插入,除了额外的数组。
  • 哦,尝试连接而不是单引号。假设 $extras[0] 有一个值并且不是一个数组。

标签: php sql checkbox


【解决方案1】:

您需要为每个复选框设置一个默认值(0 或类似的值,我不知道您在那里使用哪些值),因为如果不选中它们,它们将不会被提交:

$extra0=(isset($_POST['extras'][0]))?$_POST['extras'][0]:0;
$extra1=(isset($_POST['extras'][1]))?$_POST['extras'][1]:0;
//and so on

【讨论】:

  • 我认为如果列允许并且没有可提交的内容,它们可以作为 NULL 提交?
猜你喜欢
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-26
相关资源
最近更新 更多