我正在寻找一些帮助,将多个复选框中的值放在一个字符串中,分隔为','
这是我的代码:
if (isset($_POST['submitKon'])) {
$checkBox = $_POST[$holdID[$i]];
<?php
$i=1;
$virksomhedsID = $_SESSION['virkID'];
$sql = "SELECT * FROM `hold` INNER JOIN `virksomheder` ON hold.virkID = virksomheder.virkID
WHERE hold.virkID = '$virksomhedsID' ORDER BY `holdNavn` ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo '<label for="check' . $row['holdNavn'] . '">' . $row['holdNavn'] . '</label> ';
echo '<input type="checkbox" checked="checked" id="' . $row['holdID'] . '" name="' . $row['holdID'] . '"> ';
$i++;
?>
任何人都可以帮忙吗? 谢谢
答案 0 :(得分:2)
您的复选框名称应全部设置为例如:
<input type="checkbox" name="check[]" value="{$row['holdID']}" />
然后复选框的值应该在$_POST['check']
中,所以我认为您应该尝试(在您收到$_POST
的页面上)
implode(',',$_POST['check']);
//or something like
$checkstring="";
foreach($_POST['check'] as $checkboxes) {
$checkstring.= $checkboxes .",";
}
echo rtrim($checkstring);
答案 1 :(得分:0)
夫妻俩。您的$i
变量从未被使用过,这是故意的吗?
你也错过了在while语句结尾处的结束}
。
在你的标签上写了for=
你的意思是id=
吗?
这应该遍历结果并为每个结果打印标签和复选框。我在最后两个
<!-- language: lang-php -->
while($row = mysql_fetch_assoc($result))
{
echo "<label id='check".$row['holdNavn']."'>".$row['holdNavn']."</label>
<input type='checkbox' checked='checked' id='".$row['holdID']."' name='".$row['holdID']."'>, ";
}