<?php
include("connection.php");
// Collect services.
$serviceid = "select * from service";
$servicevalue = $conn->query($serviceid) or die ($conn->error.__LINE__);
$services = [];
while ($row = $servicevalue->fetch_assoc()) {
$services[] = $row;
}
// Collect activities.
$activityid = "select * from activity";
$activityvalue = $conn->query($activityid) or die ($conn->error.__LINE__);
$activities = [];
while ($row = $activityvalue->fetch_assoc()) {
$activities[] = $row;
}
// Collect something else?
$perid = "select * from periodicity";
$pervalue = $conn->query($perid) or die ($conn->error.__LINE__);
$pers = [];
while ($row = $pervalue->fetch_assoc()) {
$pers[] = $row;
}
foreach ($services as $service):
?>
<form method="post" action="doalert.php" name="test">
<ul>
<li>
<input name='arr[1][service]' type='checkbox' data-id='Incometax'value="<?php echo $service['service_id']?>"/><?php echo $service['servicename']?>
<ol>
<li>
<?php foreach ($activities as $activity) : ?>
<input type='checkbox' name='arr[1][activity][]' value="<?php echo $activity['activity_id']?>" /><?php echo $activity['nameofactivity'];?>
</li>
<br>
<?php endforeach;?>
</ol>
</li>
</ul>
<br>
<?php endforeach;?>
<input type="submit" name="submit" value="Submit"/>
</form>
服务和活动的价值来自数据库,我想将所有服务和相关活动存储在数据库中 serviceactivitymap
表中,这是我的php代码,但当我存储数据时,最后一次检查的服务值仅与所有已检查的活动一起存储
非金属 MOXy
填满
返回
格林威治恒星时
填满
返回
如果incometax、gst、filling、return是复选框,那么当我们选中时:
国际贸易术语解释通则->填表、退货和商品及服务税->填表、退货
那么代码只存储
商品及服务税->填表、退货和商品及服务税->填表、退货
而不是:
国际贸易术语解释通则->填表、退货和商品及服务税->填表、退货
2条答案
按热度按时间yqlxgs2m1#
在代码中,每次循环在服务foreach中运行时,都会创建form start标记。试着跳出圈子
另外,您用于服务输入标记的名称
arr[1]["service"]
每次循环运行时都会被覆盖。相反,我建议您是否可以在每个循环中使用变量增量,如这将区分输入标记名,并可能正确保存。
rqenqsqc2#
你需要通过考试
service_id
活动名称,如:完整形式如下: