0

真的可以得到任何人的帮助。这是我需要完成的;

我正在处理一个有 6 个复选框(每个都有自己的值)的表单。现在,在一次单击多个 chkbox 时,在提交表单时,我想检索分配给那么多 chkbox 的值。用户可以选择随机复选框。

我的代码:

技术:

                <input type="checkbox" name="technologies[]" value="1" /> Kingspan Solar</br>
                <input type="checkbox" name="technologies[]" value="2" /> Solar PVT</br>
                <input type="checkbox" name="technologies[]" value="3" /> Insulation</br>
                <input type="checkbox" name="technologies[]" value="4" /> Gas boiler</br>
                <input type="checkbox" name="technologies[]" value="5" /> Oil boiler</br>
                <input type="checkbox" name="technologies[]" value="6" /> Heat recovery ventilation</br>
                <input type="submit" name="formSubmit" value="Get The Info"></br>
                <?php
                    function IsChecked($chkname,$value)
                    {
                        if(!empty($_POST[$chkname]))
                        {
                            foreach($_POST[$chkname] as $chkval)
                            {
                                if($chkval == $value)
                                {
                                    return true;
                                }
                            }
                        }
                        return false;
                    }

                    $tech = $_POST['technologies'];
                    if(isset($_POST['formSubmit'])) 
                    {

                    // For Technology No. 1: Kingspan Solar 
                    if(IsChecked('technologies','1'))
                    {
                        if(IsChecked('technologies','2'))
                        {
                            if(IsChecked('technologies','3') )
                            {
                                if(IsChecked('technologies','4') )
                                {
                                    if(IsChecked('technologies','5') )
                                    {
                                        if(IsChecked('technologies','6') )
                                        {
                                            echo '1. Kingspan Solar 2. Solar PVT, 3. insulation, 4. Gas Boiler, 5. Oil Boiler and 6.Heat recovery ventilation are selected';
                                        }
                                        else
                                        {
                                            echo '1. Kingspan Solar 2. Solar PVT, 3. insulation, 4. Gas Boiler and 5. Oil Boiler are selected'; 
                                        }
                                    }
                                    else if(IsChecked('technologies','6') )
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 3. insulation, 4. Gas Boiler and 6.Heat recovery ventilation are selected';
                                    }
                                    else
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 3. insulation and 4. Gas Boiler are selected';
                                    }
                                }
                                else if(IsChecked('technologies','5') )
                                {
                                    if(IsChecked('technologies','6') )
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 3. insulation, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                    }
                                    else
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 3. insulation and 5. Oil Boiler are selected';    
                                    }
                                }
                                else if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT, 3. insulation and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT 3. Insulation are checked. ';
                                }
                            }
                            else if(IsChecked('technologies','4') )
                            {
                                if(IsChecked('technologies','5') )
                                {
                                    if(IsChecked('technologies','6') )
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 4. Gas Boiler, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                    }
                                    else
                                    {
                                        echo '1. Kingspan Solar 2. Solar PVT, 4. Gas Boiler and 5. Oil Boiler are selected';    
                                    }

                                }
                                else if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT, 4. Gas Boiler and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT, 4. Gas Boiler are selected';
                                }
                            }
                            else if(IsChecked('technologies','5') )
                            {
                                if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar 2. Solar PVT and 5. Oil Boiler are selected';   
                                }

                            }
                            else if(IsChecked('technologies','6') )
                            {
                                echo '1. Kingspan Solar 2. Solar PVT and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '1. Kingspan Solar 2. Solar PVT is checked. ';
                            }

                        }
                        else if(IsChecked('technologies','3') )
                        {
                            if(IsChecked('technologies','4') )
                            {
                                if(IsChecked('technologies','5') )
                                {
                                    if(IsChecked('technologies','6') )
                                    {
                                        echo '1. Kingspan Solar, 3. insulation, 4. Gas Boiler, 5. Oil Boiler and 6.Heat recovery ventilation are selected';
                                    }
                                    else
                                    {
                                        echo '1. Kingspan Solar, 3. insulation, 4. Gas Boiler and 5. Oil Boiler are selected';  
                                    }
                                }
                                else if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar, 3. insulation 4. Gas Boiler and 6.Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar, 3. insulation and 4. Gas Boiler are selected';
                                }
                            }
                            else if(IsChecked('technologies','5') )
                            {
                                if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar, 3. insulation, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar, 3. insulation and 5. Oil Boiler are selected'; 
                                }
                            }
                            else if(IsChecked('technologies','6') )
                            {
                                echo '1. Kingspan Solar 3. Insulation and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '1. Kingspan Solar and 3. Insulation are checked. ';
                            }
                        }
                        else if(IsChecked('technologies','4') )
                        {
                            if(IsChecked('technologies','5') )
                            {
                                if(IsChecked('technologies','6') )
                                {
                                    echo '1. Kingspan Solar, 4. Gas Boiler, 5. Oil Boiler and 6.Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '1. Kingspan Solar, 4. Gas Boiler and 5. Oil Boiler are selected'; 
                                }
                            }
                            else
                            {
                                echo '1. Kingspan Solar and 4. Gas Boiler and 6.Heat recovery ventilation are selected';
                            }
                        }
                        else if(IsChecked('technologies','5') )
                        {
                            if(IsChecked('technologies','6') )
                            {
                                echo '1. Kingspan Solar, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '1. Kingspan Solar and 5. Oil Boiler are selected';    
                            }
                        }
                        else
                        {
                            if(IsChecked('technologies','6') )
                            {
                                echo '1. Kingspan Solar and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '1. Kingspan Solar is checked. ';
                            }
                        }
                    }

                        // For Technology No. 2: Solar PVT
                    else if(IsChecked('technologies','2'))
                    {
                        if(IsChecked('technologies','3') )
                        {
                            if(IsChecked('technologies','4') )
                            {
                                if(IsChecked('technologies','5') )
                                {
                                    if(IsChecked('technologies','6') )
                                    {
                                        echo '2. Solar PVT, 3. insulation, 4. Gas Boiler, 5. Oil Boiler and 6.Heat recovery ventilation are selected';
                                    }
                                    else
                                    {
                                        echo '2. Solar PVT, 3. insulation, 4. Gas Boiler and 5. Oil Boiler are selected';   
                                    }
                                }
                                else if(IsChecked('technologies','6') )
                                {
                                    echo '2. Solar PVT, 3. insulation, 4. Gas Boiler and 6.Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '2. Solar PVT, 3. insulation and 4. Gas Boiler are selected';
                                }
                            }
                            else if(IsChecked('technologies','5') )
                            {
                                if(IsChecked('technologies','6') )
                                {
                                    echo '2. Solar PVT, 3. insulation, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '2. Solar PVT, 3. insulation and 5. Oil Boiler are selected';  
                                }
                            }
                            else if(IsChecked('technologies','6') )
                            {
                                echo '2. Solar PVT, 3. insulation and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '2. Solar PVT 3. Insulation are checked. ';
                            }
                        }
                        else if(IsChecked('technologies','4') )
                        {
                            if(IsChecked('technologies','5') )
                            {
                                if(IsChecked('technologies','6') )
                                {
                                    echo '2. Solar PVT, 4. Gas Boiler, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                                }
                                else
                                {
                                    echo '2. Solar PVT, 4. Gas Boiler and 5. Oil Boiler are selected';  
                                }

                            }
                            else if(IsChecked('technologies','6') )
                            {
                                echo '2. Solar PVT, 4. Gas Boiler and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '2. Solar PVT, 4. Gas Boiler are selected';
                            }
                        }
                        else if(IsChecked('technologies','5') )
                        {
                            if(IsChecked('technologies','6') )
                            {
                                echo '2. Solar PVT, 5. Oil Boiler and 6. Heat recovery ventilation are selected';
                            }
                            else
                            {
                                echo '2. Solar PVT and 5. Oil Boiler are selected'; 
                            }

                        }
                        else if(IsChecked('technologies','6') )
                        {
                            echo '2. Solar PVT and 6. Heat recovery ventilation are selected';
                        }
                        else
                        {
                            echo '2. Solar PVT is checked. ';
                        }                           
                    }
4

3 回答 3

0

将您的复选框命名为数组,例如

<input type="checkbox" name="cbname[]" value="value 1" /> Value 1 <br>
<input type="checkbox" name="cbname[]" value="value 2" /> Value 2 <br>
<input type="checkbox" name="cbname[]" value="value 3" /> Value 3 <br>
<input type="checkbox" name="cbname[]" value="value 4" /> Value 4 <br>

在 PHP 中检索值

 <?php 
    if (isset($_POST['cbname'])) 
    {
        $checkBoxArray = $_POST['cbname']; 

        //Comma seprated checkbox values as single string
        $checkBoxComma = implode(",", $checkBoxArray); 

       //Loop through values
        foreach ($checkBoxArray  as $value)
        {
          echo $value . "<br>";
        }

       //Print array
         print_r($checkBoxArray); 
    }

?>
于 2013-05-06T05:28:09.107 回答
0

为所有复选框分配相同的名称,testchkbox[]并且在表单提交时,您可以检索所有选定复选框的值。

使用$chckvalues = $_POST['testchkbox'];

于 2013-05-06T05:18:31.007 回答
0

对于更优化的代码,您可以为其创建可用值列表和标题(在数组中或来自 DB 的源中)。在这种情况下,您可以使用 foreach 检查和打印用户选择。

查看代码并在http://demos.webtricks.pro/so/selected-checkbox/尝试

<?php
    // List of avaibale values
    $technologies = array (
        1 => "Kingspan Solar",
        "Solar PVT",
        "Insulation",
        "Gas boiler",
        "Oil boiler",
        "Heat recovery ventilation"
    );

?>

<html>
    <head>
    </head>
    <body>
        <form action="" method="post">
            <?php foreach ($technologies as $techId => $tech) : ?>
                <input type="checkbox" name="technologies[]" value="<?php echo $techId;?>" /> <?php echo $tech;?><br/>
            <?php endforeach;?>
            <input type="submit" name="formSubmit" value="Get The Info"><br/>
            <?php
            // If 'technologies' is set int request - user click button
            if (isset($_REQUEST['technologies'])) {
                //$_REQUEST['technologies'] - array with selected checkboxes values
                $techs = $_REQUEST['technologies'];
                foreach ($techs as $techId) {
                    echo "{$techId}. {$technologies[$techId]}<br/>";
                }
            }
            ?>
        </form>

    </body>
</html>
于 2013-05-07T08:48:25.077 回答