2011-01-09 1 views
0

mysqlテーブルにある行の数を計算し、htmlで表示したいとします。例えばmysqlの特定のテーブル行をカウントする

:あり

:項目1、項目2、項目3、項目4、項目5、項目6

アイテム1とアイテム2が満たされる場合、私は、HTMLコードにしたいです言う - 行の2の項目

アイデア?

+1

'Where'節で' Count(*) '関数を使用する際の問題点は何ですか? – Nishant

+0

私はそれを100%sryの使い方を知っていません。これは新しいです。 – NORM

答えて

-1

クエリの行数は、関数mysql_num_rows()を使用して取得できます。

SELECT文がある場合(どの項目を選択するか)は、クエリの実行後にmysql_num_rows()を呼び出すだけです。 php.netからの例:あなたがいないNULL値

Select count(item) from table 
+4

NEWERこのようにしてください。番号が必要な場合は、その番号を正確に要求し、後で数えるにはすべての行を要求しないでください。 –

1

あなたが満たされたとはどういう意味ですかシンプル

Select count(*) from table 

かを使用できますか?とにかく、「塗りつぶされた」場合は、いくつかの特定のフィールドにNOT NULL値があることを意味します。

$sqlConn = new mysqli('host', 'user', 'password', 'database'); 
$sqlConn->query('SELECT * FROM table WHERE field1 IS NOT NULL AND field2 IS NOT NULL'); 
echo 'You have ' . $sqlConn->affected_rows . ' rows.'; 

希望すると助かります。

-1

をしたい場合は

$link = mysql_connect("localhost", "mysql_user", "mysql_password"); 
mysql_select_db("database", $link); 

$result = mysql_query("SELECT * FROM table1", $link); 
$num_rows = mysql_num_rows($result); 

echo "$num_rows Rows\n"; 
+0

それは 'SELECT COUNT(*)'を行うのに非常に複雑な方法です。 – nico

+0

あなたは正しいです、私は間違いなく彼が遅かれ早かれテーブルからデータを抽出する必要があると思います。 –

1

ではなく、合計を計算するのにかかる時間を短縮しますので、あなたが、私はすべてのIDを数えています。この

$query = "SELECT COUNT(*) FROM mytable WHERE myfield='myvalue'"; 

ような何かを行うことができ、上記あなたは後に、その後、Nishantが記載されているように、その合計行のIF '*'と

Nicoのおかげで、のカウント(*)とカウント(列)は、パフォーマンスを考慮してあまり差異がありませんHere is a comparision

where条件を使用して、必要に応じて合計を絞り込みます。

+0

'COUNT(列)'と 'COUNT(*)'は必ずしも異なるパフォーマンスを持つわけではなく、データベース特有のものです。あるケースでは、 'COUNT(*)'は実際より速くなる場合があります。 http://stackoverflow.com/questions/1697137/countid-vs-count-in-mysql – nico

+0

これをクリアしてくれてありがとう、ニコ、私はそれが速かったと思う。 – Starx

0

あなたは満たされている行のみカウントするようにしたい場合は(ある意味、nullではない)、あなたは小さなWHERE句を追加、またはcount()機能に関心の列を指定する必要があります

    fieldxはのフィールドを指定

  • NULLではありませんmytableはどこから

    SELECT COUNT(*)を使用して

  • 関心

    SELECT COUNT(fieldx)この最後の解決策ではmytableは

FROM、count()fieldx-nullでないアカウントに値を取ります。

関連する問題