我是Codeigniter的新手,需要一些帮助。
我想在表格中显示一些列。此外,还要计算表中显示的总行数。我尝试了一些方法,如果这是正确的方法,或者还有其他更好的方法可以帮助我。
我的模特
public function getRentedEquipments($project_id=0){ return $this->db->select('e.*, p.project_id') ->from('equipment AS e') ->join('project AS p', 'p.project_id = e.project_id') ->where('p.project_id', $project_id) ->order_by('eq_name','ASC' ) ->get()->result_array(); }
我的观点
<tbody> <?php $total_eq=0; $count=1; foreach ($pr_eq as $row) { ?> <tr> <th scope="row"><?php echo $count;?></th> <th scope="row"><?php echo $row['eq_id'];?> </th> <th scope="row"><?php echo $row['eq_name'];?> </th> <?php $total_eq+=$row['eq_id']-1; $count=$count+1; } ?> <button class="btn btn-info"> Number of Equipments: <?php echo $total_eq;?></button> </tbody>
我在图片链接中输出
答案 0 :(得分:1)
imho没有必要以这种方式计算你的物品 - 只需试试这个
<tbody>
<?php
foreach ($pr_eq as $row)
{
?>
<tr>
<th scope="row"><?php echo $count;?></th>
<th scope="row"><?php echo $row['eq_id'];?> </th>
<th scope="row"><?php echo $row['eq_name'];?> </th>
</tr>
<?php
}
?>
</tbody>
<button class="btn btn-info"> Number of Equipments: <?= count($pr_eq);?></button>
答案 1 :(得分:0)
我们可以更进一步添加对数组的一些检查(在这种情况下是矫枉过正的,因为模型中使用的&gt; result_array()将始终返回一个数组)并使用php&#39; s if( );万一;嵌入式HTML可以更具可读性的功能。
<?php
// If we have an array get the count, else its 0
$equipment_count = is_array($pr_eq) ? count($pr_eq) : 0;
// If we have a count > 0 , it must be an array
if ($equipment_count > 0): ?>
<tbody>
<?php foreach ($pr_eq as $row): ?>
<tr>
<th scope="row"><?php echo $count; ?></th>
<th scope="row"><?php echo $row['eq_id']; ?> </th>
<th scope="row"><?php echo $row['eq_name']; ?> </th>
</tr>
<?php endforeach; ?>
</tbody>
<?php endif; ?>
<button class="btn btn-info"> Number of Equipments: <?= $equipment_count; ?></button>
从技术上讲,你可以拥有一个数为0的数组,这将无法执行foreach,无论如何它都会执行。所以这一切似乎都很安全。
我在条件中包含您的<tbody>
标签,因此如果他们需要在外面,您可以修复它以适应。