SZ | name | Date | back_number
1234 | John | 18.8.2018 | 5512345
2391 | Bels | 18.8.2018 | 6685800
3498 | ESON | 18.8.2018 | 6685800
4531 | me | 18.8.2018 | 5512345
4531 | me | 18.8.2018 | 8812345
4531 | me | 18.8.2018 | 8812345
这是我的数据库中的数据。
我需要在 SQL 和 PHP 处理后获取输出。
我需要按 back_number 过滤。我需要按列 back_number 显示表中的记录。而且每张桌子都必须是新的。在每个表中,我需要分配与 back_number 的记录一样多的记录。
table:
back_number - 5512345
-
SZ - 1234 | name - John | Date 18.8.2018
SZ - 4531 | name - me | Date 18.8.2018
next table
back_number - 6685800
-
SZ - 2391 | name - Bels | Date 18.8.2018
SZ - 3498 | name - ESON | Date 18.8.2018
and next table
back_number - 8812345
-
SZ - 4531 | name - me | Date 18.8.2018
SZ - 4531 | name - me | Date 18.8.2018
实际代码:
$sql = "SELECT * FROM my_DB GROUP BY back_number ";
<?php
foreach ($back_number as $row) {
if( $row['back_number '] != null ){
?>
<article>
<div class="header header_green_grad">
<?php
echo "back_number - " . $row['back_number '];
?>
</div>
<table>
<tr>
<?php
echo "<td>" . $row['SZ'] . "</td>";
echo "<td>" . $row['back_number '] . "</td>";
echo "<td>" . date('d.m.Y', strtotime($row['date'])) . "</td>";
echo "<td>" . $row['name'] . "</td>";
?>
</tr>
</table>
</article>
我有地方可以添加更多的 foreach 或做什么。我不知道建议。
就像@sticky bit 说你不能使用 group by 一样,它不会单独返回行组。它只为每个组返回一个...
另一种方法是通过
$sql = "select distinct(back_number) from FROM my_db";
$back_numbers = mysqli_query($Conn, $sql);
现在,
foreach ($back_numbers as $back_number){
$mysql = "select * from FROM my_db where back_number =".$back_number;
$rows = mysqli_query($Conn, $mysql);
foreach($rows as $row){
echo $row;
}
}
Ps 这里的一个优点是您可以为第一个循环内的每个 back_number 创建一个新表并将 $row 存储在其中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句