我正在尝试将一些数据从表单插入数据库。我知道如何检索值,但问题是我需要按一定顺序插入数据。
我有一个带有用户插入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/