gpt4 book ai didi

php - 如何使用 php 和 codeigniter 隐藏检索到的数据值的重复部分

转载 作者:IT老高 更新时间:2023-10-29 00:16:34 26 4
gpt4 key购买 nike

作为这个 MySQL 语句的结果,我得到了下表

SELECT * FROM expenses, income 
WHERE expenses.projectname=income.projectname
AND expenses.task=income.task

enter image description here这些是我的项目表中的字段

enter image description here

这些是我的任务表的字段 enter image description here

在这张表中,一个项目有很多任务。因此,项目、客户、项目开始和结束日期列毫无意义地重复。我怎样才能对所有任务只显示一次?我如何在这里应用 PHP 隐藏逻辑?下图显示了我需要实现的目标。通过 MySQL 查询检索数据。但是我怎样才能隐藏不必要的值重复 enter image description here这是 CodeIgniter 的 View 页面

<table class="table table-lg">
<thead >
<tr class="filters">

<th><input type="text" class="form-control" placeholder="Project" disabled></th>
<th><input type="text" class="form-control" placeholder="Employee" disabled></th>
<th><input type="text" class="form-control" placeholder="Task" disabled></th>
<th><input type="text" class="form-control" placeholder="Expense" disabled></th>
<th><input type="text" class="form-control" placeholder="Amount" disabled></th>
<th><input type="text" class="form-control" placeholder="Paid/Not" disabled></th>
<th><input type="text" class="form-control" placeholder="Client" disabled></th>
<th><input type="text" class="form-control" placeholder="Cost" disabled></th>
<th><input type="text" class="form-control" placeholder="Income " disabled></th>
<th><input type="text" class="form-control" placeholder="Date" disabled></th>

</tr>
</thead>
<tbody>
<?php
if(isset($view_data1) && is_array($view_data1) && count($view_data1)): $i=1;
foreach ($view_data1 as $key => $data) {
?>

<tr <?php if($i%2==0){echo 'class="even"';}else{echo'class="odd"';}?>>

<td><?php echo $data['projectname']; ?></td>
<td><?php echo $data['employee']; ?></td>
<td><?php echo $data['task']; ?></td>
<td><?php echo $data['ExpenseName']; ?></td>
<td><?php echo $data['ExpenseAmount']; ?></td>
<td><?php echo $data['pn']; ?></td>
<td><?php echo $data['cname']; ?></td>
<td><?php echo $data['taskcost']; ?></td>
<td><?php echo $data['amount']; ?></td>
<td><?php echo $data['datetimepicker_mask']; ?></td>
</tr>
<?php
$i++;
}
else:
?>
<tr>
<td colspan="7" align="center" >No Records Found..</td>
</tr>
<?php
endif;
?>
</tbody>
</table>

最佳答案

我没有测试这段代码,但我的想法是记住最后一个键(在本例中为项目名称和员工),然后将其与当前键进行比较。

您的示例代码中的字段与您的 Word 文档示例表不匹配,所以我只使用了您的代码示例。

    <tbody>

<?php
if (isset($view_data1) && is_array($view_data1) && count($view_data1)) {

$i = 1;
$last_key = '';

foreach ($view_data1 as $key => $data) {

$stripe = 'odd';
if ($i % 2 == 0) {
$stripe = 'even';
}
echo "<tr class='$stripe'>";
$i++;

$current_key = $data['projectname'] . $data['employee'];

if ($current_key !== $last_key) {

echo "<td>" . $data['projectname'] . "</td>";
echo "<td>" . $data['employee'] . "</td>";
} else {

echo "<td colspan='2'></td>";
}

$last_key = $current_key;
?>

<td><?php echo $data['task']; ?></td>
<td><?php echo $data['ExpenseName']; ?></td>
<td><?php echo $data['ExpenseAmount']; ?></td>
<td><?php echo $data['pn']; ?></td>
<td><?php echo $data['cname']; ?></td>
<td><?php echo $data['taskcost']; ?></td>
<td><?php echo $data['amount']; ?></td>
<td><?php echo $data['datetimepicker_mask']; ?></td>
</tr>
<?php
}
} else {
?>
<tr><td colspan="10" align="center" >No Records Found..</td></tr>
<?php
}
?>

</tbody>
</table>

关于php - 如何使用 php 和 codeigniter 隐藏检索到的数据值的重复部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45544422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com