2016-01-08 119 views
1

我想使用複選框來填充特定格式的數據庫中的單個字符串。我可以成功地打印數組,但我不明白如何將其分配給變量以便連接到數據庫並再次在該站點的其他位置使用。下面是HTML:分配複選框數組到變量

<input type="checkbox" id="bookCodes" name="bookCodes[]" value="C">Commercials 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="CP">Commercial Print 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="V">Voice Overs 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="X">Background Work 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="F">Film 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="TV">Television 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="BT">Business Theatre Industrials 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="I">Film Industrials 
<input type="checkbox" id="bookCodes" name="bookCodes[]" value="MV">Music Videos 

PHP:

foreach($_POST['bookCodes'] as $codes) { 
    print "(".$codes.")"; 
}; 

我希望打印的字符串等於$bookCodes。我已經嘗試把數組放入一個函數中,但是隻有第一個值。這是代碼:

function prepBookCodes ($value) 
{ 
    if (isset($_POST[$value])) { 
     foreach ($_POST[$value] as $codes) { 
      return "(" . $codes . ")"; 
     } 
    } 
} 
$bookCodes = prepBookCodes('bookCodes'); 

print $bookCodes; 

任何幫助將不勝感激!

回答

1

連接是答案。讓你的函數返回一些請!

function prepBookCodes ($value) 
{ 
    if (isset($_POST[$value])) { 
     foreach ($_POST[$value] as $codes) { 
      $string .= "(" . $codes . ")"; 
     } 
    } 

    return $string; 
} 
$bookCodes = prepBookCodes('bookCodes'); 
2

你的第一個聲明中沒有把它當作一個數組:

<input type="checkbox" id="bookCodes" name="bookCodes" value="C">Commercials 

應該

<input type="checkbox" id="bookCodes" name="bookCodes[]" value="C">Commercials 
+0

謝謝,我錯過了。它仍然沒有工作。我從PHP段獲得相同的結果。 –

0
function prepBookCodes ($value) 
{ 
    if (isset($_POST[$value])) { 
     foreach ($_POST[$value] as $codes) { 
      echo "(" . $codes . ")"; 
     } 
    } 
} 
0

也許你可以連接後的值到一個變量$bookCodes

if ($_SERVER['REQUEST_METHOD'] === 'POST') { 
    if (isset($_POST['bookCodes'])) { 
     $bookCodes = ''; 
     foreach ($_POST['bookCodes'] as $codes) { 
      $bookCodes .= "(" . $codes . ")"; 
     } 
     print $bookCodes; 
    } 
} 

如果您例如檢查所有的複選框,則$bookCodes變量將包含:

(C)(CP)(V)(X)(F)(TV)(BT)(I)(MV)