2016-05-16 2 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

OPはこれを求めましたか? –

関連する問題