Iam在比较两个数组时遇到了问题。通过两个数组循环 - >标记复选框检查
在第一个数组中,我有行的ID,我需要在其中标记复选框ckecked。在第二个数组中,有一个来自表的项目的完整数据集。
我没有运气,使其正常工作,但 - 这是我的最后一次尝试,这显然不正常工作,因为它做的一切的6倍(如第一个数组包含6种元素)
第一阵列: 阵列(6){ [0] => 串(2) “24” [1] => 串(2) “25” [2] => 串(2) “28” [3 (1)“9” [5] => st环(2) “10” }
$产品 - 6个元件
$数据的阵列 - 数据集的阵列从MySQL
foreach($datas as $data) {
if(!empty($products)) {
foreach($products as $product) {
if($product == $data->id) { ?>
<tr>
<td><input type="checkbox" name="selectedProduct[]" value="<?=$data->id;?>" class="big-checkbox" checked="checked">
<td><?=$data->evidenceId;?></td>
<td><?=$data->modelName;?></td>
<td><?=$data->size;?></td>
<td><?=$data->price;?></td>
<td><?=$data->brand;?></td>
</tr>
<?php }
if($product !== $data->id) { ?>
<tr>
<td><input type="checkbox" name="selectedProduct[]" value="<?=$data->id;?>" class="big-checkbox">
<td><?=$data->evidenceId;?></td>
<td><?=$data->modelName;?></td>
<td><?=$data->size;?></td>
<td><?=$data->price;?></td>
<td><?=$data->brand;?></td>
</tr>
<?php }
}
}
拉我需要的是,以呈现每行$ data并标记框已选中$ data-> id == $ product
有什么建议? 谢谢! 马丁
编辑:
也试过的方法是这样的,但它只是拧HTML表:
foreach($datas as $data) {
foreach($selectedProducts as $product) {
if($product == $data->id) { ?>
<tr>
<td><input type="checkbox" name="selectedProduct[]" value="<?=$data->id;?>" class="big-checkbox" checked="checked">
<?php }
if($product !== $data->id) { ?>
<tr>
<td><input type="checkbox" name="selectedProduct[]" value="<?=$data->id;?>" class="big-checkbox">
<?php }
}
?>
<td><input type="checkbox" name="selectedProduct[]" value="<?=$data->id;?>" class="big-checkbox">
<td><?=$data->evidenceId;?></td>
<td><?=$data->modelName;?></td>
<td><?=$data->size;?></td>
<td><?=$data->price;?></td>
<td><?=$data->brand;?></td>
</tr>
<?php } ?>
第一个数组是什么? $ DATAS? –
@ some-non-descript-user:nope,第一个数组是** $ product **。 ** $ datas **是从mysql获取的数据集。 – HyperT
你可以显示'$ datas'的结果吗? – aldrin27