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