我希望以专业的方式显示我的数据,缩短代码长度,看起来像专业。我不想重复代码。
下面我粘贴了我的代码。如果任何一个团体有任何好主意,请帮助我。
<table>
<?php if(!empty($labour) || !empty($machines) || !empty($materials) || !empty($contractors)){?>
<tr>
<th>Id</th>
<th>Name</th>
<th>amount_paid</th>
<th>date</th>
</tr>
<?php }?>
<?php if(!empty($labour)){
$i=1; foreach($labour as $res):?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $res['LabourCashcredit']['name'];?></td>
<td><?php echo $res['LabourCashcredit']['amount_paid'];?></td>
<td><?php echo $res['LabourCashcredit']['date'];?></td>
</tr>
<?php $i++; endforeach;
}?>
<?php if(!empty($machines)){
$i=1; foreach($machines as $res):?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $res['MachinePayment']['first_name'].' '. $res['MachinePayment']['last_name'];?></td>
<td><?php echo $res['MachinePayment']['amount_paid'];?></td>
<td><?php echo $res['MachinePayment']['date'];?></td>
</tr>
<?php $i++; endforeach;
} ?>
<?php if(!empty($materials)){
$i=1; foreach($materials as $res):?>
<tr>
<td><?php echo $i;?></td>
<td><?php echo $res['MaterialPayment']['first_name'].' '. $res['MaterialPayment']['last_name'];?></td>
<td><?php echo $res['MaterialPayment']['paid_amount'];?></td>
<td><?php echo $res['MaterialPayment']['date'];?></td>
</tr>
<?php $i++; endforeach;
} ?>
答案 0 :(得分:0)
如果您不想重复自己,请根据您的具体情况采取某种方法。
<table>
<?php if(!empty($labour) || !empty($machines) || !empty($materials) || !empty($contractors)):?>
<tr>
<th>Id</th>
<th>Name</th>
<th>amount_paid</th>
<th>date</th>
</tr>
<?php endif; ?>
<?php $items = array(); ?>
<?php
if(!empty($labour))
$items[] = array(
'columns' => array(
'name', // column 1
'amount_paid', // column 2
'date' // column 3
),
'data' => $labour['LabourCashcredit']
);
if(!empty($machines))
$items[] = array(
'columns' => array(
'first_name', // column 1
'amount_paid', // column 2
'date' // column 3
),
'data' => $machines['MachinePayment']
);
// and so on ...
?>
<?php foreach($items as $key => $item_data): ?>
<tr>
<td><?php echo $counter // think about some counter here ?></td>
<?php foreach ($item_data['columns'] as $column): // looping through each column ?>
<td><?php echo $item_data['data'][$column] // echoing column value ?></td>
<?php endforeach ?>
</tr>
<?php endforeach ?>
<table>