有没有办法告诉用户表中有多少行?

时间:2009-08-08 19:23:38

标签: php mysql

假设我有一个充满名字的表格,我希望用户知道有多少名字。

输出过程是什么?

6 个答案:

答案 0 :(得分:5)

$result = mysql_query('SELECT Count(*) FROM table') or die('error');
$count = mysql_result($result, 0, 'count(*)');
echo $count;

答案 1 :(得分:1)

如果您只想要唯一的名字,

SELECT COUNT(DISTINCT name_column) FROM table_name

答案 2 :(得分:0)

如果从数组填充表,可以在php代码中使用count($array)列出数组中的元素数。

答案 3 :(得分:0)

<?php
    $r = mysql_query('SELECT COUNT(*) as cnt FROM table;');
    $v = mysql_fetch_assoc($r);
    echo 'There are ' . $v['cnt'] . ' rows in the table.';
?>

答案 4 :(得分:0)

以防您实施某种分页并希望同时显示可以使用MySQL's FOUND_ROWS()的记录总数。
e.g。

$start = $page*$itemsPerPage;
$query = "
    SELECT SQL_CALC_FOUND_ROWS
        x,y,z
    FROM
        foo
    LIMIT
        $start, $itemsPerPage
";
$result = mysql_query($query, $mysql) or die(mysql_error());
while( false!==($row=mysql_fetch_array($result, MYSQL_ASSOC)) ) {
    echo
        htmlspecialchars($row['x'], ENT_QUOTES, 'utf-8'), ' ',
        htmlspecialchars($row['y'], ENT_QUOTES, 'utf-8'), ' ',
        htmlspecialchars($row['z'], ENT_QUOTES, 'utf-8'), ' ',
        "<br />\n";
}

$query = 'SELECT FOUND_ROWS()';
$result = mysql_query($query, $mysql) or die(mysql_error());
$total = mysql_result($result, 0, 0);
echo $total, ' record(s) found';

答案 5 :(得分:0)

您可以这样做:

$sql = 'SELECT Count(`id`) as c FROM table';
$ok = mysql_query($sql);
if($ok){
   $v = mysql_fetch_assoc($ok);
   echo 'There are '.$v['c'].' names in the table.';
}else{
   echo 'MySQL error: '.mysql_error();
}