php链接表,PHP:使用链接表的MYSQL COUNT查询

我正在寻找更干净的方式来执行此操作。我的代码有效,但我知道它可以更好。我有三个表格:一个带有分类组列表,一个带有链接到分类组的分类列表,另一个带有链接到分类的新闻报道列表。PHP:使用链接表的MYSQL COUNT查询

我需要遍历类别组的所有名称,然后是类别组中所有类别的名称,并列出每个类别中的新闻报道的数量。

我有三个表:CategoryGroups,Categories,News。

我有一组查询。第一个查询全部来自CategoryGroups表中的行:

$result = mysql_query('

SELECT cat_group_id, cat_group_name FROM CategoryGroups

');

第二个查询是第一次查询的环形结果内,查找具有新闻条目和链接到一个特定的类别组的类别:

while($row = mysql_fetch_assoc($result)){

$id = $row['cat_group_id'];

$name = $row['cat_group_name'];

echo "

$name

";

$sql = mysql_query("

SELECT category_id, title FROM `Categories`

WHERE cat_group_id = $id

AND category_id IN

(SELECT news.category_id FROM news)

");

while($row = mysql_fetch_assoc($sql)) {

$title = $row['title'];

$catid = $row['category_id'];

$numbers = mysql_query("

SELECT * FROM news

WHERE category_id =$catid"

);

$nums = mysql_num_rows($numbers);

echo "$title ($nums)
\n";

}

?>

我想将此限制在一个或两个查询中,要高效记住。我知道这可以做到,但是我的努力没有成功。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值