我正在尝试将一些数据从表单插入数据库。我知道如何检索值,但问题是我需要按一定顺序插入数据。
我有一个带有用户插入TIME和SUBJECTS的TIMETABLE,所以我需要插入与TIME对应的SUBJECT值。

    $Times      = $_POST['Time'];
    $Subject    = $_POST['Subject'];
    $Year       = "2013-2017";
    $Dept       = "CSE";
    $Tutor      = "Vishnu";
    $con        = $this->db_con();
    $count      = count($Subject);

    foreach ($Times as $Timings) {
        for ($i=0;$i<count($Subject);$i++) {
            $ins_tmtbl  = $con->prepare("insert into time_table (Department,Year,Time,subject,Tutor_name) values(?,?,?,?,?)");
            $exe        = $ins_tmtbl->execute(array($Dept,$Year,$Timings,$Subject[$i],$Tutor));
        }
    }


这是HTML部分,

$number_of_prds = "10";

    for ($i=0;$i<=$wrkng_dys;$i++) {
        echo "<th>$days[$i]</th>";
    }

    for ($j=1;$j<=2;$j++) {
        ?>

        <tr><th><div class="col-xs-2">
                    <input class="form-control input-lg" name="Time[]" id="inputlg" type="text" value="" style="width:120px; height:30px;">
                    </div></td>
        <?php
        for ($s=1;$s<=count($days)-6;$s++) {
            ?>
            <td><div class="col-xs-2">
                    <?php  for ($i=0;$i<count($number_of_prds);$i++) { ?>
                    <input class="form-control input-lg" name="Subject[]" id="inputlg" type="text" value="" style="width:120px; height:30px;">
                    <?php } ?>
                    </div></td>
            <?php
        }
        echo "</tr>";


    }


我插入数据库后得到的结果是,

10-11 sub1 sub2 sub3 sub4.....
11-12 sub1 sub2 sub3 sub4.....


我期望结果像
10-11 sub1 sub2最多对应该小时的主题,依此类推
我坚持使用任何帮助将不胜感激

最佳答案

问题是您有X个Time变量和X * 6个Subject变量,但是没有办法将两者关联。您需要的是Subject上的二维数组:

<input class="form-control input-lg" name="Time[<?php echo $j;?>]" id="inputlg" type="text" value="" style="width:120px; height:30px;">

...

<input class="form-control input-lg" name="Subject[<?php echo $j;?>][]" id="inputlg" type="text" value="" style="width:120px; height:30px;">


然后,您可以将时间和主题的键关联起来:

foreach ($Times as $key => $Timings) {
        for ($i=0;$i<count($Subject[$key]);$i++) {
            $ins_tmtbl  = $con->prepare("insert into time_table (Department,Year,Time,subject,Tutor_name) values(?,?,?,?,?)");
            $exe        = $ins_tmtbl->execute(array($Dept,$Year,$Timings,$Subject[$key][$i],$Tutor));
        }
}

关于php - 我的代码无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31452816/

10-13 03:41