2016-05-16 21 views
0

我有一個窗體與不同的複選框字段。但是,我能夠使用foreach循環顯示它們的值,但想知道是否可以通過選擇它們來顯示它們。下面是我的代碼。顯示多選字段的複選框與PHP

<html> 
<head></head> 
<body> 
<form action="states.php" method="post"> 
    Draft<input type="checkbox" name="states[]" id="design_states" value="Draft"> 
    Design<input type="checkbox" name="states[]" id="design_states" value="design"> 
    Review<input type="checkbox" name="states[]" id="design_states" value="Review"> 
    Approved<input type="checkbox" name="states[]" id="design_states" value="Approved"> 
    Issued For Construction<input type="checkbox" name="states[]" id="color" value="Issued For Construction">      
    <input type="submit" value="submit"> 
</form> 
<body> 
</html> 

<?php 

    if(isset($_POST['states'])) { 
     $name = $_POST['states']; 

     echo "You chose the following workflow: <br>"; 
     foreach ($name as $states){ 
     echo $states."<br />"; 
     }} // end brace for if(isset 

    else { 

     echo "You did not choose a workflow."; 

    } 
?> 

如果用戶選擇發佈施工第一次後草案我希望這些值顯示爲採摘不先草稿,然後頒發施工。

+0

你能更詳細地瞭解你的問題嗎? –

+0

我不明白 - 你想要訂單,有人檢查框? – WillardSolutions

+0

具體而言,您的最後一句話沒有任何意義:「如果用戶選擇首先發佈施工,然後選擇草稿,則我希望將這些值顯示爲摘取,而不是先草稿,然後發佈施工。」 – WillardSolutions

回答

0
echo "You chose the following workflow: <br>"; 
foreach (array_intersect($states, $name) as $state){ 
    echo $state."<br />"; 
} 

echo "You don't chose the following workflow: <br>"; 
foreach (array_diff($states, $name) as $state){ 
    echo $state."<br />"; 
} 
+1

Did OP問了這個? –