首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将多个复选框值插入到表中?

如何将多个复选框值插入到表中?
EN

Stack Overflow用户
提问于 2013-11-24 16:06:19
回答 4查看 142.6K关注 0票数 15

我似乎无法找到或找到一个可行的解决方案来将表单中的多个复选框值插入到表中。我带来的关闭是将一个复选框值的值插入到一个表中。请指出我如何插入多个复选框值,而不仅仅是一个。

下面是我到目前为止所掌握的:

我的表格:

代码语言:javascript
复制
<html>
<body>
<form method="post" action="chk123.php">
Flights on: <br/>
<input type="checkbox" name="Days" value="Daily">Daily<br>
<input type="checkbox" name="Days" value="Sunday">Sunday<br>
<input type="checkbox" name="Days" value="Monday">Monday<br>
<input type="checkbox" name="Days" value="Tuesday">Tuesday <br>
<input type="checkbox" name="Days" value="Wednesday">Wednesday<br>
<input type="checkbox" name="Days" value="Thursday">Thursday <br>
<input type="checkbox" name="Days" value="Friday">Friday<br>
<input type="checkbox" name="Days" value="Saturday">Saturday <br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>

我的php文件读取这些值并将其插入到表中:

代码语言:javascript
复制
<?php

// Make a MySQL Connection
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

$checkBox = $_POST['Days'];

if(isset($_POST['submit']))
{
    for ($i=0; $i<sizeof($checkBox); $i++)
        {
            $query="INSERT INTO example (orange) VALUES ('" . $checkBox[$i] . "')";     

            mysql_query($query) or die (mysql_error() );
        }
    echo "Complete";

}

?>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-24 16:07:41

您应该指定

代码语言:javascript
复制
<input type="checkbox" name="Days[]" value="Daily">Daily<br>

就像数组一样。

[]添加到所有名称Days中,并像数组一样在php中工作。

之后,您可以在db的不同列上使用INSERT值,或者使用implode并将值保存到一个列中。

没有测试过,但你可以这样做。不要忘记将mysql替换为mysqli

代码语言:javascript
复制
<html>
<body>
<form method="post" action="chk123.php">
Flights on: <br/>
<input type="checkbox" name="Days[]" value="Daily">Daily<br>
<input type="checkbox" name="Days[]" value="Sunday">Sunday<br>
<input type="checkbox" name="Days[]" value="Monday">Monday<br>
<input type="checkbox" name="Days[]" value="Tuesday">Tuesday <br>
<input type="checkbox" name="Days[]" value="Wednesday">Wednesday<br>
<input type="checkbox" name="Days[]" value="Thursday">Thursday <br>
<input type="checkbox" name="Days[]" value="Friday">Friday<br>
<input type="checkbox" name="Days[]" value="Saturday">Saturday <br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>

代码语言:javascript
复制
<?php

// Make a MySQL Connection
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

$checkBox = implode(',', $_POST['Days']);

if(isset($_POST['submit']))
{       
    $query="INSERT INTO example (orange) VALUES ('" . $checkBox . "')";     

    mysql_query($query) or die (mysql_error() );

    echo "Complete";

}

?>
票数 31
EN

Stack Overflow用户

发布于 2013-11-24 16:11:17

您需要在HTML中声明数组

代码语言:javascript
复制
<input type="checkbox" name="Days[]" value="Daily">

此外,您还可以使用这样的一个查询插入多个项

代码语言:javascript
复制
$query = "INSERT INTO example (orange) VALUES ";
for ($i=0; $i<count($checkBox); $i++)
    $query .= "('" . $checkBox[$i] . "'),";
$query = rtrim($query,',');
mysql_query($query) or die (mysql_error() );

还要记住,mysql_*函数是officially deprecated函数,因此不应该在新代码中使用。您可以使用PDO或MySQLi代替。有关详细信息,请参阅this answer on SO

票数 4
EN

Stack Overflow用户

发布于 2013-11-24 16:09:01

我觉得这个应该管用..。:)

代码语言:javascript
复制
<input type="checkbox" name="Days[]" value="Daily">Daily<br>
<input type="checkbox" name="Days[]" value="Sunday">Sunday<br>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20176673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档