计算mysql中的特定表行

时间:2011-01-09 12:40:18

标签: php javascript mysql html web

我想计算一下我在mysql表中有多少行并在html中显示它。

例如:

项目1,项目2,项目3,项目4,项目5,项目6

如果填写了第1项和第2项,我想要一个html代码 - 行中的2个项目

任何想法?

5 个答案:

答案 0 :(得分:1)

你可以使用简单的

Select count(*) from table

或如果您不想使用空值

Select count(item) from table

答案 1 :(得分:1)

如果你的总行数是,那么就像上面提到的Nishant你可以做这样的事情

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

我正在计算所有ID,因为它会减少计算总数而不是'*'和

所需的时间

感谢Nico, count(*)和count(列)考虑性能并没有那么不同。 Here is a comparision

根据需要使用where条件缩小总数。

答案 2 :(得分:0)

如果只想计算已填充的行(意思是 not null ),则应添加一个小的WHERE子句,或指定感兴趣的列在count()函数中:

  • 使用

    SELECT count(*)FROM mytable WHERE fieldx IS NOT NULL

  • 指定感兴趣的字段

    SELECT count(fieldx)FROM mytable

在最后一个解决方案中,count()只会考虑非空 fieldx 值。

答案 3 :(得分:-1)

您可以使用函数mysql_num_rows()获取查询的行数。

因此,如果你有一个SELECT语句(选择你想要的项目),你只需要在执行查询后调用mysql_num_rows()。来自php.net的例子:

$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";

答案 4 :(得分:-1)

填充是什么意思?无论如何,如果通过'填充'表示某个特定字段具有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.';

希望它有所帮助。