php - [PHP-MYSQL]报表查询

标签 php mysql sql report

我需要帮助才能将此交付给我的客户。他坚持盘点报告的格式应该是这样的:

Report

虽然我在mysql中的库存表是这样的:

Inventory Table

基本上,他希望应用程序按项目名称和颜色对库存进行分组,然后对于数量列,他希望应用程序将其显示在一列中,其中包含打印的尺寸,具体取决于数量。因此,如果库存表显示我们有 4 件 42 号红色耐克鞋和 3 件 41 号红色耐克鞋,那么它将在此列中打印“41 41 41 42 42 42 42”。

我希望我解释得很好,请参阅我的库存表和上面的报告以了解详细信息。

我需要关于如何正确执行此操作的建议,我可以仅使用 sql 查询来执行此操作,还是应该将其与 php 代码结合使用?

感谢帮助

温暖的问候

最佳答案

我认为您需要先使用查询:

select Item,Color,GROUP_CONCAT(Size) as SIZE,GROUP_CONCAT(Qty) as Qty from --tablename-- group by Item,Color

然后使用 php while 循环得到你的结果

while($num=$result){
$item=$num['Item'];
$Color=$num['Color'];
$size=explode(",",$num['SIZE']);
$size_show="";
$qty=$num['Qty'];
$qty1=explode(",",$qty);
foreach($size as $key=>$val){
$qty2=$qty1[$val];
$k=1;
while($k<=$qty2){
$size_show.="".$val." ";
$k++;
}

}

echo $size_show;
}

请注意,我只给出了思路,并没有测试代码

关于php - [PHP-MYSQL]报表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40281666/

相关文章:

mysql - 使用 yii 框架测试和生产服务器部署 - 同步数据库更改

mysql - 如何在 MySQL 中对具有多个 HAVING 值的多个列进行 GROUP BY?

mysql - 计数大于总行数

php - PDOException 找不到驱动程序 Laravel 5.4

php - 插入带有 Select 和附加参数的 stmt

php - 将 html 插入 .docx

mysql - 翻译 MySQL 查询 - 我的解释正确吗?

php - 如何在 php 中将 foreach 用于 3d 数组

php - 使用 fpdf 使文本适合单元格

sql - 在 MS-Access 中比较日期时数据类型不匹配