2012-12-19 62 views
1

我正在寻找一些帮助把从多个复选框值一起被分隔的一根弦“”如何保存多个复选框中的一个字符串

这是我的代码:

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>&nbsp;'; 
    echo '<input type="checkbox" checked="checked" id="' . $row['holdID'] . '" name="' . $row['holdID'] . '">&nbsp;&nbsp;';       
    $i++;  
?> 

灿任何人都可以帮忙吗? 谢谢

+0

?我只是问,因为你有<?php之外的php代码,并且你在使用$ 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); 
+0

谢谢,但我在哪里把内爆? –

+0

在您发送表单的页面上。如果它是相同的页面比可能像if(isset($ _ POST ['submitKon'])){ $ checkBox = implode(',',$ _ POST ['holdmyvalues']); – vodich

+0

好吧,.. $ checkstring =“”; foreach($ _ POST ['holdmyvalues'] as $ checkboxes){ $ checkstring。= $ checkboxes。“,”; } echo rtrim($ checkstring);我在哪里放这个? –

0

夫妇的事情。您的$i变量永远不会被使用,这是故意的吗?

而且你是在缺少while语句的结尾处的右}

在你的标签,你写for=你的意思id=

这应该遍历结果并为每个结果打印一个标签和一个复选框。我加入了是否有可能你的代码是不正确的“”前的最后两&nbsp;

<!-- language: lang-php --> 
while($row = mysql_fetch_assoc($result)) 
{ 
    echo "<label id='check".$row['holdNavn']."'>".$row['holdNavn']."</label>&nbsp; 
      <input type='checkbox' checked='checked' id='".$row['holdID']."' name='".$row['holdID']."'>,&nbsp;&nbsp;";         
} 
+1

谢谢为了您的答案,我已经做出了您所建议的更改,但它仍然没有写入任何内容.. –

+0

奇怪...您正在使用的是什么浏览器?和PC,MAC,Linux?也可以尝试上面的@vodich的建议,不知道这是否也能起作用,但可能值得一试。 – SnareChops

相关问题