如何在数据库中添加复选框值?

时间:2011-07-29 09:43:42

标签: php mysql html

<?php 
 if(isset($_REQUEST['submit']))
 {
        $category = mysql_real_escape_string(implode(',', $_POST['category']));

 }

$ins=mysql_query("insert into fruits (`category`) values ('$category') " ) ;

?>

<form name="form1" method="post" action="">
<input type="checkbox"    name="category[]" value="apple" >Apple
<input type="checkbox"    name="category[]" value="orange" >Orange
<input type="checkbox"    name="category[]" value="mango" >Mango
<input type="submit" name="submit" value="submit"  />
</form>

我需要保存复选框值,如[apple] [orange] [芒果],但现在它保存为苹果,橙子,芒果

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

使用循环创建所需的字符串

$category = '';

foreach ( $_POST['category'] as $cat )
{
    $category .= '[' . $cat . ']';
}

$ins=mysql_query("insert into fruits (`category`) values ('$category') " ) ;

答案 1 :(得分:2)

我同意Quentin对你的问题的评论 - 对于桥牌表来说,很多人都是最好的方法,我最近必须做一些非常类似的事情,这是最好的解决方案。

如果你打算这样做,你需要循环遍历category []数组并使用方括号构建一个字符串,如下所示:

$str='';
foreach ($_POST['category'] as $val)
{
    $str.='['.$val.']';
}

除非我误解括号的重要性,否则:)

编辑:请阅读http://bobby-tables.com/,(由quentin提供)lmao。在进行此操作之前,您应该考虑可能的安全隐患。

答案 2 :(得分:0)

不确定我是否理解你,但试试这个

$category = mysql_real_escape_string(implode('][', $_POST['category']));
if($category)
   $category='['.$category.']';

我希望它会有所帮助。