gpt4 book ai didi

mysql - 在类别 View 中显示文档总计

转载 作者:行者123 更新时间:2023-11-29 13:20:58 25 4
gpt4 key购买 nike

各位大师大家好。

这可能是最简单的事情,但我正在努力寻找答案。

基本上,我有两个表,结构如下:

表 1:

categories_docs
| CATID | parent | name |
| 1 | 0 | Cars |
| 2 | 0 | Bikes |
| 3 | 1 | VW |
| 4 | 1 | Toyota |
| 5 | 2 | Honda |
| 6 | 2 | Yamaha |

表 2:

docs
| DOCID | categories | title |
| 1 | 3 | GTI User Manual |
| 2 | 3 | Polo GTi Performance Tweaks |
| 3 | 4 | Hilux 4x4 Cheat Guide |
| 4 | 4 | Supra TuneUp |
| 5 | 5 | CBR600 Service Manual |
| 6 | 5 | CBR1000RR Service Manual |

本质上,他们应该输出:

Cars (4)

VW (2)

TOYOTA (2)

自行车 (2)

Honda (1)

Yamaha (0)

目前我可以使用 ListView ,但我正在努力让它计算总数。

查询列出类别:

function insert_get_categories($a)
{
global $config,$conn;
$query = "select * from categories_docs where parent='0' order by name asc";
$results = $conn->execute($query);
$returnthis = $results->getrows();
return $returnthis;
}

呈现 PHP 的 TPL:(使用 Smarty)

{insert name=get_categories assign=listcats}
{section name=o loop=$listcats}
<div class="column {if $smarty.section.o.iteration % 6 == 0}last{/if}"><br>
<h3><a href="{$baseurl}/subcategory.php?id={$listcats[o].CATID}"> {$listcats[o].name|stripslashes}</a></h3>
</div>
{/section}

任何帮助将不胜感激!

提前致谢。

最佳答案

我不是专家,但也许这对你有一点帮助:

此 SQL 给出直接类别的总数:

select CATID,parent,name,count(*) from categories_docs inner join docs on categories=CATID group by CATID;

这个为您提供第一级父类别的总数:

select count(*),cd2.name from categories_docs cd1 inner join docs on categories=CATID join categories_docs cd2 on cd2.CATID=cd1.parent group by parent

如果您想将它们全部显示在一起,请使用 UNION ALL

select name,IF(isnull(DOCID) and parent !=0, 0, count(*)) as amount  from categories_docs left join docs on categories=CATID where parent!=0 group by CATID
UNION ALL
select cd2.name,IF(isnull(DOCID), 0, count(*)) from categories_docs cd1 inner join docs on categories=CATID join categories_docs cd2 on cd2.CATID=cd1.parent group by cd1.parent

编辑:我对最后一个 sql 做了一些更改,以显示没有元素的子类别

关于mysql - 在类别 View 中显示文档总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20857900/

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