0

テーブルの列のカウント値を表示しようとしています。

私のテーブルはptb_forumと呼ばれ、次のようになります。

id  |  from_user_id  |  content  |  title  |  read_forum  | deleted

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

私は基本的に、次のmysqlコードを使用して、phpでエコーアウトするread_forumの番号(つまり、20または40など)を取得しようとしています。

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は初めてで、カウントを学習しているだけです。誰かがどこで問題が発生しているのかを教えてください。ありがとう

4

3 に答える 3

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']
于 2013-03-14T01:31:49.563 に答える
0

$queryfalseが返されるかどうかを確認する必要があります。その場合、SQLにエラーがあります。

おそらく、selectステートメントは次のようになっているはずです。

SELECT COUNT(id), read_forum FROM ptb_forum
WHERE ptb_forum.read_forum=ptb_forum.from_user_id
AND ptb_forum.deleted=0

ptb_forum.deletedが文字列ではなく数値の場合

于 2013-03-14T01:26:41.213 に答える
0

クエリで count(Id) が使用されているとは思わない$newf['read_forum']代わりに使用する$newf ['count(id)']

于 2013-03-14T01:31:45.990 に答える