在php中计算Checkbox数组,在文本框中显示特定值

时间:2017-05-05 12:31:05

标签: javascript php html arrays checkbox

有没有办法可以得到一个复选框数组的计数,比如有4个数组(yeswb[], yesab[], yesal[], yesvb[])。需要获取数组yeswb[], yesab[], yesal[]yesvb[]的计数,比较它们中的最大计数并在文本字段中显示特定值。

<form action="checkbox.php" method="POST">
                        <table class="table table-striped table-bordered table-hover" id="dataTables-example">
                                    <thead>
                                        <tr>
                                        <th>Indicator/Symptom</th>
                                            <th>Yes</th>
                                            <th>No</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <tr class="gradeA"> 
                                        <td>Headache</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Headache"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No Headache"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Diarrhoea</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Vomiting</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Constipation</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Nausea</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>No Appetite</td>
                                        <td><input type="checkbox" name="yeswb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="nowb[]" value="No"></td>

                                    </tr>
                                    <tr class="gradeA">
                                        <td>Sneezing</td>
                                        <td><input type="checkbox" name="yesab[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noab[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Runny Nose</td>
                                        <td><input type="checkbox" name="yesab[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noab[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Coughing</td>
                                        <td><input type="checkbox" name="yesab[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noab[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Itchy eyes and nose</td>
                                        <td><input type="checkbox" name="yesab[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noab[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td> Watery eyes</td>
                                        <td><input type="checkbox" name="yesab[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noab[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Fatigue</td>
                                        <td><input type="checkbox" name="yesvb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="novb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Chills & Fever</td>
                                        <td><input type="checkbox" name="yesvb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="novb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Muscle/Joint aches</td>
                                        <td><input type="checkbox" name="yesvb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="novb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td> Swollen Lymph Nodes</td>
                                        <td><input type="checkbox" name="yesvb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="novb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Expanding Rash</td>
                                        <td><input type="checkbox" name="yesvb[]" value="Yes"></td>
                                        <td><input type="checkbox" name="novb[]" value="No"></td>
                                    </tr>
                                    <tr class="gradeA">
                                        <td>Redrash</td>
                                        <td><input type="checkbox" name="yesal[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noal[]" value="No"></td>
                                    </tr>

                                    <tr class="gradeA">
                                        <td>Wheezing</td>
                                        <td><input type="checkbox" name="yesal[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noal[]" value="No"></td>

                                    </tr>
                                    <tr class="gradeA">
                                        <td>Swollenness</td>
                                        <td><input type="checkbox" name="yesal[]" value="Yes"></td>
                                        <td><input type="checkbox" name="noal[]" value="No"></td>

                                    </tr>

                                    </tbody>
                                </table> 
                                </form> 

例如,yeswb[]的计数为4,yesab[]的计数为3,yesvb[]的计数为1,我将如何生成{{1}的语句在文本字段中? (因为计数为4 yeswb[] wins是最大的) 提前谢谢你。

1 个答案:

答案 0 :(得分:0)

checkbox.php

$mFinalArray = [];
foreach($_POST as $index => $post){
    $mFinalArray[$index] = count($post);
}

    $biggestCategory = array_search(max($mFinalArray), $mFinalArray);

    print_r($mFinalArray);

    print_r($biggestCategory);

所选表格的示例:

enter image description here

输出:

Array
(
    [yeswb] = 3
    [yesab] = 2
    [yesvb] = 2
)

yeswb

信息:

$index:数组的键(yeswb,yesab,yesvb)

$post:循环中的当前数组

$_POST:所有$_POST变量的数组

*此外,在您的表格更改

<td><input type="checkbox" name="yeswb[]" value="Headache"></td>
<td><input type="checkbox" name="nowb[]" value="No Headache"></td>

<td><input type="checkbox" name="yeswb[]" value="Yes"></td>
<td><input type="checkbox" name="nowb[]" value="No"></td>