如何计算我创建的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);
我做错了什么?
答案 0 :(得分: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
答案 1 :(得分:0)
您可以尝试mysql_num_rows($result)
答案 2 :(得分:0)
这将100%工作
$rows= mysql_num_rows(mysql_query("YOUR SQL QUERY"));