从mysql列显示计数值?

时间:2013-03-14 01:22:33

标签: php mysql

我正在尝试显示表格中列的计数值。

我的表名为ptb_forum,它看起来像这样:

id  |  from_user_id  |  content  |  title  |  read_forum  | deleted

1           3            hello      test           20          0
2           6            bored      hello          40          0

我基本上试图通过使用这个mysql代码来获取read_forum中的数字(所以20或40或其他什么)在php中回显:

function check_new_forum2() {
            global $connection;
            global $_SESSION;
            $query = "SELECT COUNT(id) read_forum FROM ptb_forum WHERE ptb_forum.read_forum=ptb_forum.from_user_id AND ptb_forum.deleted='0' 
        ";
            $check_new_forum_set2 = mysql_query($query, $connection);
            confirm_query($check_new_forum_set2);
            return $check_new_forum_set2;       
        }

并使用此php回显结果:

$check_new_forum_set2 = check_new_forum2();
while ($newf = mysql_fetch_array($check_new_forum_set2)) {

    echo "<div class=\"forum_comments\">". $newf['COUNT(id)'] ."&nbsp;Views</div>";
 } ?>

此刻没有任何回应,我不知道我哪里出错了,我刚接触到mysql,我只是在学习数,有人可以告诉我哪里出错了。 感谢

3 个答案:

答案 0 :(得分:3)

因为SELECT COUNT(id)read_forum之间没有逗号,所以你的sql正在执行此操作

SELECT COUNT(id) AS read_forum

因此,如果read_forum是一列,您需要使用$newf['read_forum'] 或执行此操作:

SELECT COUNT(id) AS c, read_forum 

并使用

$newf['c']

答案 1 :(得分:0)

如果$query返回false,则应该检查SELECT COUNT(id), read_forum FROM ptb_forum WHERE ptb_forum.read_forum=ptb_forum.from_user_id AND ptb_forum.deleted=0 。如果是这样,SQL中就会出错。

也许select语句应该是:

{{1}}

如果ptb_forum.deleted是一个数字而不是一个字符串

答案 2 :(得分:0)

使用$newf['read_forum']代替$newf ['count(id)']我认为查询中没有使用计数(Id)