PHP 中如何将多选的 checkbox 值存入数据库?

PHP中如何将多选的checkbox值存入数据库?为什么我做的只能存入最后的一个值?如:<?phpif(!empty($_POST["t1"])){$array=$_PO... PHP 中如何将多选的 checkbox 值存入数据库?为什么我做的只能存入最后的一个值?如:
<?php
if(!empty($_POST["t1"])){
$array = $_POST["t1"];
$size = count($array);
for($i=0; $i<$size; $i++){
$sport = $array[$i]." ";
}
}
?>
<form method=post action="" name="form1">

<input type="checkbox" name="t1[]" value="篮球">篮球<br>
<input type="checkbox" name="t1[]" value="足球">足球<br>
<input type="checkbox" name="t1[]" value="乒乓球">乒乓球<br>
<input type="checkbox" name="t1[]" value="排球">排球<br>
<input type="submit">
</form>
能给点具体的例子吗?如存入数据库的例子,和输出显示的例子,感激不尽,我是新手,水平菜啊。
展开
 我来答
夜绿看遍野Y
推荐于2018-05-07 · TA获得超过136个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:95.5万
展开全部
<?php
if(!empty($_POST["t1"]))
{
$array = $_POST["t1"];

$str =implode(',',$array);
echo $str."<br>"; //输出 篮球,足球,乒乓球,排球 //$str 存入数据库

$arr=explode(',',$str);//从数据库取出数据时用。
print_r($arr);//输出 Array ( [0] => 篮球 [1] => 足球 [2] => 乒乓球 [3] => 排球 ) //数据库输出用explode变回数组array

$serialize=serialize($array);
echo "<br>".$serialize."<br>"; //输出 a:4:{i:0;s:4:"篮球";i:1;s:4:"足球";i:2;s:6:"乒乓球";i:3;s:4:"排球";} 存入数据后也是这样子。

$unserialize = unserialize($serialize);
print_r($unserialize); //输出 Array ( [0] => 篮球 [1] => 足球 [2] => 乒乓球 [3] => 排球 ) 变回array

}
?>
<form method=post action="" name="form1">

<input type="checkbox" name="t1[]" value="篮球">篮球<br>
<input type="checkbox" name="t1[]" value="足球">足球<br>
<input type="checkbox" name="t1[]" value="乒乓球">乒乓球<br>
<input type="checkbox" name="t1[]" value="排球">排球<br>
<input type="submit">
</form>
阳光上的桥
2008-03-26 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65806
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
我下面的代码成功了的,你能获取启发吗?

<?php
echo <<<END
<form method=post action="$PHP_SELF" name="form1">
<input type="checkbox" name="t1[]" value="篮球">篮球<br>
<input type="checkbox" name="t1[]" value="足球">足球<br>
<input type="checkbox" name="t1[]" value="乒乓球">乒乓球<br>
<input type="checkbox" name="t1[]" value="排球">排球<br>
<input type="submit">
</form>
END;
if (isset($_POST["t1"])) echo join(' ',$_POST["t1"]);
?>

我的join比你的for循环方便、简单、实用得多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小幽魂
2008-03-26 · TA获得超过1469个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:680万
展开全部
这一句错了 $sport = $array[$i]." ";
每次循环都是重新赋值。你要的是累加这些结果。。应该写成

$sport .= $array[$i]." ";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式