0
我有一個問題,我需要循環表單提交中複選框的數量。 Foreach複選框是循環的,我需要將數據插入到數據庫中。 我該如何去循環遍歷通過表單提交傳遞的複選框的數量?PHP - 表單提交中選定複選框的循環數
我的代碼如下:
表:
<form action="createChallenge.php" method="post" name="chalCreate">
Challenge Name:<input type="text" name="chalName" />
<br />
Challenge Target:<input type="text" name="chalTarget"/>
<br />
End Date:<input type="text" name="chalDate">
<br />
<!-- Needs a jquery datepicker -->
Select Friends: <br />
<?php
$selFriend = $conn->prepare("SELECT * FROM Friends WHERE UserID = '$userID' AND Friend = 'y' ORDER BY FriendName ASC");
$selFriend->execute();
foreach($selFriend as $row){
?>
<input type="checkbox" name="test" value="<?php echo $row['FriendID'] ?>"><?php echo $row['FriendName'] ?><br>
<?php
}
?>
<br />
<button type="submit">Create Challenge</button>
</form>
PHP處理表單:
<?php
if(isset($_POST['test']))
{
$i = 0;
foreach($_POST['test'] as $checked)
{
echo $friend = $checked;
$i++;
}
echo $name = $_POST['chalName'];
echo $target = $_POST['chalTarget'];
echo $date = $_POST['chalDate'];
echo $friend = $_POST['test'];
echo $setby = $_COOKIE['userID'];
$create = $conn->prepare("INSERT INTO Challenge (chalSetBy, chalName, chalTarget, chalDate) VALUES ('$setby', '$name', '$target', '$date') ");
$create->execute();
if($create)
{
echo "Challenge made successfully";
}
else
{
echo "There was a problem";
}
}
?>
我以爲做以下將回聲出的數據,但它沒有,它只選擇了最後一個複選框:
$i = 0;
foreach($_POST['test'] as $checked)
{
echo $friend = $checked;
$i++;
}
邊注:使用'回聲$值。 「\ n」;'或'echo $ value。 「」;'將在所有條目之間放置一個空格,否則它將最終成爲,例如:'123456'而不是(可能打算)'1 2 3 4 5 6',換行符是'echo $ value'。 「
」;'(只是一個想法) –
輝煌,謝謝! –