作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要从我的数据库中提取和显示一些信息。我的问题是:“fatura”列(在表 A 中)总是会链接到多个“stur”行(在表 B 中)。我找不到如何不为每个“stur”显示相同的“fatura”。
我的代码:
<?php
$mysqli = NEW MySQLi('localhost','root','','server');
$sqlFatura = $mysqli->query("SELECT fatura,stur
FROM faturas inner join anexos
WHERE ID_fatura = FK_fatura
");
if($sqlFatura->num_rows > 0){
while($rows = $sqlFatura->fetch_assoc()){
$fatura = $rows['fatura'];
$stur = $rows['stur'];
echo "<p> Fatura $fatura => Stur: $stur </p>";
?>
现在的结果:
'Fatura FT01 => Stur 01
Fatura FT01 => Stur 02
Fatura FT01 => Stur 03
Fatura FT02 => Stur 04
Fatura FT02 => Stur 05'
需要:
'Fatura FT01 => Stur 01, 02, 03
Fatura FT02 => Stur 04, 05
欢迎提出任何建议。
提前致谢!
最佳答案
您可以尝试将 GROUP BY ID_fatura
与 GROUP_CONCAT(stur)
一起使用。
SELECT
fatura,
GROUP_CONCAT(stur) AS allSturs
FROM
faturas
INNER JOIN anexos ON ID_fatura = FK_fatura
GROUP BY ID_fatura
注意:由于 stur
的列名称已更改为 allSturs
,因此您需要更改获取它的值的行。
$stur = $rows['allSturs'];
警告:
Beware of
MySQL
max size for a string variable andGROUP_CONCAT
.If
GROUP_CONCAT
max length is the limit (1024 by default) you should alter the temporary setting (session-scope) for length of it. It's done by:
SET SESSION group_concat_max_len = 10000
关于php - MySQL + Php如何对数据进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38549723/
我是一名优秀的程序员,十分优秀!