2012-12-19 59 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

相關問題