0

所以我有一个 mysql 表,它有一个可以动态添加的 id 列(sid)。现在我正在做一个查询,以获取分组到每个 sid 中​​的所有条目的计数,如下所示:

SELECT SUM(IF(sid = 71, 1, 0)) as count71,
SUM(IF(sid = 72, 1, 0)) as count72,
SUM(IF(sid = 75, 1, 0)) as count75,
SUM(IF(sid = 81, 1, 0)) as count85
FROM `table`
WHERE userid=44;

请注意,所有 SUM 字段都是动态创建的,我不知道实际的 sid 是什么。现在的问题是如何使用 PHP 的变量变量遍历每个计数的结果集?我已经尝试过了,但没有用。

$count_var = "rs['count71']"
$$count_var // holds number of entries where sid is 71;

谢谢!

4

2 回答 2

3

我可以建议这个吗:

select sid, count(*) from `table` where userid = 44 group by sid ;
于 2012-04-30T05:54:50.653 回答
0

你可以这样做:


$count_var = "rs['count71']";
echo eval('return $'. $count_var . ';');

但当然@troelskn 的答案可能是您想要的最佳解决方案

于 2012-04-30T05:59:46.513 回答