gpt4 book ai didi

php - 将多个复选框值发送到 INSERT

转载 作者:行者123 更新时间:2023-11-29 10:59:45 26 4
gpt4 key购买 nike

我试图将多个值发送到 INSERT 字符串,但该值返回为 NULL。

我试图将两个值发送到一个表,一个成员 ID 和一个团队 ID,团队 ID 是复选框值,其中本示例中的成员 ID 保持不变,因此我的表收集整数,如下所示:

teamMember (table name)
id, memberId, teamId
1, 1, 2
2, 1, 1
3, 2, 3

我希望你能明白。

这是我的插入内容:

$memberId = $_POST['memberId'];
$teamId = $_POST['teamId'];

foreach($teamId as $val){
$sql = "INSERT INTO teamMember (teamId, memberId) VALUES ('$val','$memberId')";
}


if ($conn->query($sql) === TRUE) {
}

我的表单如下所示:

<form action="cmt.php" method="POST">
<input type="hidden" name="memberId" value="<?php echo $memberId; ?>">
<?php
$sql = "SELECT * FROM team WHERE dashboardId = $dashboardId";
$result = $conn->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<input name="teamId[]" type="checkbox" value="' . $row["id"] . '">' . $row["name"] . '<br><br>';
}
}
?>
<form>

我只需要选中要作为数组传递的值,这样我就可以添加多个团队 ID 以及我为其选择团队的用户 ID。

问题是如何插入多行,因为这似乎每次只插入一行。

最佳答案

您传递了错误的变量

$memberId = $_POST['memberId'];
$teamId = implode(',', $_POST['teamId']);

$sql = "INSERT INTO teamMember (teamId, memberId) VALUES ('$teamId', '$memberId')"; //<----teamID instead of dashboardId


if ($conn->query($sql) === TRUE) {
}

编辑

要输入单独的行:

$memberId = $_POST['memberId'];
//$teamId = implode(',', $_POST['teamId']);
$teamId = $_POST['teamId'];
$sql = "INSERT INTO teamMember (teamId, memberId) ";
$sql_concat="";
foreach ($teamId as $team) {
if($sql_concat == "")
$sql_concat .= " VALUES ('$team', '$memberId')";
else
$sql_concat .= " , ('$team', '$memberId')";
}
$sql .= $sql_concat;
if ($conn->query($sql) === TRUE) {
}

关于php - 将多个复选框值发送到 INSERT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42466515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com