将复选框项分配给MySQL db TEXT列

时间:2013-12-23 10:56:08

标签: php mysql forms

我的HTML表单有三个复选框;

<input type="checkbox" name="numb" value="1">1<br>
<input type="checkbox" name="numb" value="2">2<br>
<input type="checkbox" name="numb" value="3">3

如何将选中的项目分配到MySQL数据库的TEXT变量中,用单个空格分隔?

3 个答案:

答案 0 :(得分:0)

如果所有复选框都具有相同的名称,则不能拥有复选框的值,为所有复选框指定不同的名称以获取其值:

<input type="checkbox" name="numb1" value="1">1<br>
<input type="checkbox" name="numb2" value="2">2<br>
<input type="checkbox" name="numb3" value="3">3

然后,通过PHP,检查它们是否已被check编辑,如果是,则获取它们的值:

$text =""; /*create variable to save data */
if(isset($_POST['numb1'])) /* check if the check box is checked */
    {
     $text = $text." ".trim($_POST['numb1']);
    }

if(isset($_POST['numb2'])) /* check if the check box is checked */
    {
      $text = $text." ".trim($_POST['numb2']);
    }

if(isset($_POST['numb3'])) /* check if the check box is checked */
    {
      $text = $text." ".trim($_POST['numb3']);
    }

现在你有$text变量中的数据来推送数据库。

在数据库中的最终插入之前,您可以再次trim $text删除任何其他white-space,但这完全取决于复选框值(如果它们包含空格或不在HTML标记中

答案 1 :(得分:0)

将名称更改为数组

<input type="checkbox" name="numb[]" value="1">1<br>
<input type="checkbox" name="numb[]" value="2">2<br>
<input type="checkbox" name="numb[]" value="3">3

并在php中

$numb = '';
if ( isset($_POST['numb']) ) {
   foreach( $_POST['numb'] as $n ) {
      $numb .= $n . ' ';
   }
   $numb = trim($numb);
}

并将$numb插入mysql表

答案 2 :(得分:0)

更简单的方法可以 $val = implode(" ",$_POST["numb"]);

现在$val用空格保存所有值。你可以简单地将它存储在数据库中。