-1

こんにちは、特定の行が 0 より大きいテーブルをカウントしようとしています。テーブル (リクエスト) に 0 より大きい行 (rq_stamp) がある場合は、カウント/選択する必要があります。

これは私がこれまでに得たものですが、常に 1 になります ($num_rows は常に 1 です)。

    $rq_notice = mysql_query("SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' HAVING COUNT(rq_stamp) > 0 ") or die(mysql_error());   
if(mysql_num_rows($rq_notice) > 0 )
{
    $num_rows = mysql_num_rows($rq_notice);
    echo $num_rows;
}

提供できるヘルプに感謝します。質問が以前に回答されていた場合は申し訳ありませんが、検索しても見つかりませんでした。

4

2 に答える 2

0

を使用COUNT()することで、不要と思われる集計をクエリに導入しています。rq_stampの値が 0 より大きいかどうかを判断しようとしているだけの場合は、次のようにします。

SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0 
于 2013-01-14T16:42:11.190 に答える
0

count の機能を誤解していると思います ;)

ここに書いているのはクエリです。つまり、データを探している人を送信しています。得られるのは、SELECT 部分で定義したものだけです。

カウントは、特定の列でグループ化する場合に使用できる関数です。ここで、写真とそのアップローダーを保存するテーブルにクエリを設定できます。countを使用すると、アップローダーごとにアップロードされた写真の数を取得できるようになりました。その他の例: http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html

私はあなたがこのようなことをしたいと思います:

SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0 

ポスターが X で、タイムスタンプが > 0 であるすべてのリクエストを取得するだけです。PHP を使用すると、収集された行数を確認でき、mysql_query を使用して行を取得できます。http://php.net/mysql_query

ただし、mysql の代わりに mysqli または PDO を使用してください。ここでは、PHP で使用する関数について話しているだけです。PHP 拡張機能の mysql は PHP 5.5 から非推奨になりました。使用すべきでないものは削除されます。非推奨の理由を尋ねる場合: http://de2.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated

于 2013-01-14T16:50:44.287 に答える