0

作成した mysql で行をカウントするにはどうすればよいですか。

これは私の声明です

(
"SELECT COUNT(ct.title)
FROM exp_channel_titles as ct
LEFT JOIN exp_channel_data as cd on (ct.entry_id = cd.entry_id)
where ct.channel_id=1
and ct.status= 'open'
Group by ct.entry_id
");

このステートメントを print_r すると、次の出力が得られます。

CI_DB_mysql_result Object ( [conn_id] => Resource id #9 [result_id] => Resource id #173 [result_array] => Array ( ) [result_object] => Array ( ) [current_row] => 0 [num_rows] => 135 [row_data] => ) 

しかし、私は番号135だけが欲しい

これは私が試した方法ですが、うまくいかず、理由がわかりませんか?

$result = mysql_query($resultsofRestaurants);
$count = mysql_fetch_array($result);
print_r($count);

私は何を間違っていますか?

4

3 に答える 3

0

あなたが今していることはct.entry_id、各行に少なくとも 1 つの値を与えるカウントです。

cd.entry_idの代わりに数える必要がありますct.entry_id

SELECT  COUNT(cd.entry_id)
FROM    exp_channel_titles as ct
        LEFT JOIN exp_channel_data as cd 
           ON ct.entry_id = cd.entry_id
WHERE   ct.channel_id=1 AND
        ct.status= 'open'
GROUP   BY ct.entry_id
于 2013-03-05T12:55:27.500 に答える
0

あなたが試すことができますmysql_num_rows($result)

于 2013-03-05T12:56:32.953 に答える
0

これは100%機能します

$rows= mysql_num_rows(mysql_query("YOUR SQL QUERY"));
于 2013-03-05T13:22:14.360 に答える