0

したがって、動的に追加できる id 列 (sid) を持つ mysql テーブルがあります。今、私はクエリを実行して、これらの各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 に答える