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>
能给点具体的例子吗?如存入数据库的例子,和输出显示的例子,感激不尽,我是新手,水平菜啊。 展开
<?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>
能给点具体的例子吗?如存入数据库的例子,和输出显示的例子,感激不尽,我是新手,水平菜啊。 展开
3个回答
展开全部
<?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>
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>
展开全部
我下面的代码成功了的,你能获取启发吗?
<?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循环方便、简单、实用得多。
<?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循环方便、简单、实用得多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这一句错了 $sport = $array[$i]." ";
每次循环都是重新赋值。你要的是累加这些结果。。应该写成
$sport .= $array[$i]." ";
每次循环都是重新赋值。你要的是累加这些结果。。应该写成
$sport .= $array[$i]." ";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询