简体   繁体   中英

grouped associative array from HTML form with php

I am working on tabled based web form. Each row has separate datum . after filling my form all fields it should be grouped as an associative array in php. But i'm not getting exact result after many trials . 在此输入图像描述

Generated form

            <table width="60%" class="table table-striped table-bordered table-hover att  doodleTable">
                <thead>
                    <tr>
                        <th width="2%">ID</th>
                        <th width="10%"> Emp ID / Name </th>
            <!--                                        <th width="10%"></th>-->
                        <th width="3%">Site</th>
                        <th width="5%"> Attendance </th>
                        <th width="3%">Salary/hr</th>
                        <th width="5%">In time</th>
                        <th width="5%">Out time</th>
                        <th width="3%">Lunch Time</th>
                        <th width="3%">Over Time</th>
                        <th width="3%">Advance Amt</th>
                        <th width="3%">Total time</th>
                    </tr>
                </thead>
                <form method="POST" action="http://example.com/attendance/update" accept-charset="UTF-8"><input name="_token" type="hidden" value="ZZVYZejVpAkVfjeTcs58q8JXwrcptOsinTNr6Xha">                                    <tbody>
                        <tr>
                            <th width="2%">2</th>
                            <th width="10%"> SEO067 / Nagaraj </th>
                    <input  style="display:none" type="text" name="att[emp_id]" value='SEO067'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[SEO067][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[SEO067][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[SEO067][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[SEO067][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[SEO067][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[SEO067][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067][twt]" class="form-control twt">  </th>
                    </tr>
                    <tr>
                        <th width="2%">3</th>
                        <th width="10%"> SEO067rrr / Nagaraj </th>
                    <input  style="display:none" type="text" name="att[emp_id]" value='SEO067rrr'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[SEO067rrr][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[SEO067rrr][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[SEO067rrr][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[SEO067rrr][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[SEO067rrr][twt]" class="form-control twt">  </th>
                    </tr>
                    <tr>
                        <th width="2%">4</th>
                        <th width="10%"> WEB001 / suresh </th>
                    <input  style="display:none" type="text" name="att[emp_id]" value='WEB001'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[WEB001][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[WEB001][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[WEB001][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[WEB001][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[WEB001][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[WEB001][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[WEB001][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[WEB001][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[WEB001][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[WEB001][twt]" class="form-control twt">  </th>
                    </tr>
                    </tbody>
            </table>
            <input class="btn btn-primary pull-right" type="submit" value="Submit">                                </form>                            </div>

the above form didn't give what am expecting as an multidimensional array. My required multidimensional array as follows

            Array
            (
                [0] => Array
                    (
                        [emp_id] => WEB001
                        [dt] => 03/01/2014
                        [site] => 03/01/2014
                         ...
                    )
                 [1] => Array
                    (
                        [emp_id] => WEB002
                        [dt] => 03/01/2014
                        [site] => 03/01/2014
                      ...
                    )
                 [2] => Array
                    (
                        [emp_id] => WEB002
                        [dt] => 03/01/2014
                        [site] => 03/01/2014
                    )

                .....
            )

Note : the form generating dynamically

I post your form modified as you wish (added an index to the name attribute of every input tag elements), hope this help:

        <table width="60%" class="table table-striped table-bordered table-hover att  doodleTable">
                <thead>
                    <tr>
                        <th width="2%">ID</th>
                        <th width="10%"> Emp ID / Name </th>
            <!--                                        <th width="10%"></th>-->
                        <th width="3%">Site</th>
                        <th width="5%"> Attendance </th>
                        <th width="3%">Salary/hr</th>
                        <th width="5%">In time</th>
                        <th width="5%">Out time</th>
                        <th width="3%">Lunch Time</th>
                        <th width="3%">Over Time</th>
                        <th width="3%">Advance Amt</th>
                        <th width="3%">Total time</th>
                    </tr>
                </thead>
                <form method="POST" action="" accept-charset="UTF-8"><input name="_token" type="hidden" value="ZZVYZejVpAkVfjeTcs58q8JXwrcptOsinTNr6Xha">                                    <tbody>
                        <tr>
                            <th width="2%">2</th>
                            <th width="10%"> SEO067 / Nagaraj </th>
                    <input  style="display:none" type="text" name="att[0][emp_id]" value='SEO067'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[0][dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[0][site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[0][SEO067][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[0][SEO067][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[0][SEO067][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[0][SEO067][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[0][SEO067][twt]" class="form-control twt">  </th>
                    </tr>
                    <tr>
                        <th width="2%">3</th>
                        <th width="10%"> SEO067rrr / Nagaraj </th>
                    <input  style="display:none" type="text" name="att[1][emp_id]" value='SEO067rrr'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[1][dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[1][site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[1][SEO067rrr][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[1][SEO067rrr][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[1][SEO067rrr][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[1][SEO067rrr][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[1][SEO067rrr][twt]" class="form-control twt">  </th>
                    </tr>
                    <tr>
                        <th width="2%">4</th>
                        <th width="10%"> WEB001 / suresh </th>
                    <input  style="display:none" type="text" name="att[2][emp_id]" value='WEB001'  hidden="">
                    <th  width="5%" style="display:none"><input type="text" name="att[2][dt]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="5%" style="display:none"><input type="text" name="att[2][site]" class="form-control date-pic-choose" readonly="" hidden=""> </th>
                    <th width="7%"> <input type="text" name="att[2][WEB001][][site]" class="form-control site"> </th>
                    <th width="3%"> 
                        <input type="radio" name="att[2][WEB001][st]" value="p" id="attendance_0">P   
                        <input type="radio" name="att[2][WEB001][st]" value="a" id="attendance_0">A
                    </th>
                    <th width="7%"> <input type="text" name="att[2][WEB001][sh]" class="form-control sal"> </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][wt]" class="form-control intime">  </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][ot]" class="form-control outtime">  </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][lt]" class="form-control lt"> </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][ovrtime]" class="form-control ovrtime">  </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][aa]" class="form-control">  </th>
                    <th width="3%"> <input type="text" name="att[2][WEB001][twt]" class="form-control twt">  </th>
                    </tr>
                    </tbody>
            </table>
            <input class="btn btn-primary pull-right" type="submit" value="Submit">                                </form>                            </div>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM