如何在视图中显示数据库记录而不重复字段?
在我的数据库中,我有两个表,一个是政治(politics_id,policy,policy_type_id),另一个是tipo_politics(politics_type_id,policy_type)。
这是餐桌 政治
politics_id | politics | politics_type_id
-------- | -------- | -------------
1 | Politic 1 | 1
2 | hello world | 2
3 | magic | 1
4 | love |1
这是表 tipo_politics
politics_type_id | politics_type
------------- | --------
1 | general
2 | life
我需要的是在视图中显示以政治类型为标题的政治表格的记录,但是标题不会重复。这样的事情。
**General**
- Politic 1
- magic
- love
**Life**
- hello world
我希望通过group by进行查询,但只显示一个带有policy_type_id 1的 记录。这是视图代码。
<?php
for ($j = 0; $j < $contador; $j++) {
?>
<div class="content-layout">
<p>
<span>
<?php echo $list_politic[$j]['politics_type']; ?>
</span>
</p>
</div>
<div>
<ul style="text-indent: 0px;">
<li>
<span>
<?php echo $list_politic[$j]['politics']; ?>
</span>
</li>
</ul>
</div>
<?php } // for j ?>
使用此表格显示如下记录:
**General**
- Politic 1
**General**
- magic
**General**
- love
**Life**
- hello world
希望您能帮助我,我的问题是一个很好的问题。
-
您似乎希望仅在中有更改时才显示标题
politics_type
。这将需要在每次迭代中跟踪其值,因此逻辑可以按以下方式构造:<?php $previous_politics_type = ""; for ($j = 0; $j < $contador; $j++) { if($previous_politics_type != $list_politic[$j]['politics_type']){ // <-- new if condition ?> <div class="content-layout"> <p> <span> <?php echo $list_politic[$j]['politics_type']; ?> </span> </p> </div> <?php } // <-- end if $previous_politics_type = $list_politic[$j]['politics_type']; ?> <div> <ul style="text-indent: 0px;"> <li> <span> <?php echo $list_politic[$j]['politicas']; ?> </span> </li> </ul> </div> <?php } // for j ?>
<div>
上面s的布局可能与您需要的布局完全不同,但可能希望它可以为您提供有关如何使用新$previous_politics_type
变量的想法。