gpt4 book ai didi

php - 仅显示已更改的列

转载 作者:行者123 更新时间:2023-11-29 22:36:53 25 4
gpt4 key购买 nike

我有这张表:

some_id | page_id | column1 | column2 | column3 | column4 |
1 | 1 | 1 | 1 | 1 | 1 |
1 | 2 | 1 | 0 | 1 | 1 |
1 | 3 | 1 | 0 | 1 | 1 |
2 | 2 | 1 | 0 | 0 | 1 |
2 | 3 | 1 | 0 | 1 | 0 |
3 | 6 | 0 | 0 | 0 | 0 |

在此表中,some_idpage_id 是外键。

现在我在 php 中显示这个(在表格中),如下所示:

some_id | page_id | column1 | column2 | column3 | column4 |
some1| page1 | yes | yes | yes | yes |
some1| page2 | yes | no | yes | yes |
some1| page3 | yes | no | yes | yes |
some2| page2 | yes | no | no | yes |
some2| page3 | yes | no | yes | no |
some3| page6 | no | no | no | no |

但我想要这样:

some_id | page_id | column1 | column2 | column3 | column4 |
some1| page1 | yes | yes | yes | yes |
| page2 | yes | no | yes | yes |
| page3 | yes | no | yes | yes |
some2| page2 | yes | no | no | yes |
| page3 | yes | no | yes | no |
some3| page6 | no | no | no | no |

所以基本上每次有一个新的 some_id 时它才应该显示结果。如果没有,它应该是一个空的td。我不知道该怎么做。

这是包含查询结果的数组:

array(10) {
[0]=>
object(stdClass)#351 (6) {
["some_id"]=>
int(2)
["page_id"]=>
int(1)
["column1"]=>
int(1)
["column2"]=>
int(0)
["column3"]=>
int(1)
["column4"]=>
int(0)
}
[1]=>
object(stdClass)#352 (6) {
["some_id"]=>
int(2)
["page_id"]=>
int(6)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(0)
["column4"]=>
int(1)
}
[2]=>
object(stdClass)#353 (6) {
["some_id"]=>
int(2)
["page_id"]=>
int(7)
["column1"]=>
int(0)
["column2"]=>
int(0)
["column3"]=>
int(0)
["column4"]=>
int(0)
}
[3]=>
object(stdClass)#354 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(1)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[4]=>
object(stdClass)#355 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(2)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[5]=>
object(stdClass)#356 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(3)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[6]=>
object(stdClass)#357 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(4)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[7]=>
object(stdClass)#358 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(5)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[8]=>
object(stdClass)#359 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(6)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
[9]=>
object(stdClass)#360 (6) {
["some_id"]=>
int(4)
["page_id"]=>
int(7)
["column1"]=>
int(1)
["column2"]=>
int(1)
["column3"]=>
int(1)
["column4"]=>
int(1)
}
}

这就是我展示它的方式:

@foreach ($array as $something)
<tr>
<td>{{$something->some_id}}</td>
<td>{{$something->page_id}}</td>
<td>{{$something->column1}}</td>
<td>{{$something->column2}}</td>
<td>{{$something->column3}}</td>
<td>{{$something->column4}}</td>

</tr>
@endforeach

我怎样才能得到我上面描述和显示的期望结果?每个some_id仅显示一次,并且在它首先出现的行中

最佳答案

只需使用 PHP,不需要 SQL 即可。

在循环之前初始化一个变量来跟踪 some_id 的值。

我不熟悉您使用的符号,因此我将其设置为按照我的方式工作。

<?php
$currId = '';
@foreach ($array as $something) {
?>
<tr>
<?php if ($something->some_id != $currId) {
$currId = $something->some_id;
?>

<td><?php echo $something->some_id; ?></td>

<?php } else { ?>

<td>&nbsp;</td>

<?php } ?>

<td><?php echo $something->page_id]; ?></td>
<td><?php echo $something->column1; ?></td>
<td><?php echo $something->column2; ?></td>
<td><?php echo $something->column3; ?></td>
<td><?php echo $something->column4; ?></td>

</tr>
<?php } ?>

关于php - 仅显示已更改的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29508827/

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