2009-08-08 4 views
0

Предположим, у меня есть таблица с именами, и я хочу, чтобы пользователи знали, сколько имен есть.Есть ли способ рассказать пользователю, сколько строк находится в таблице?

Каким будет процесс вывода?

+0

Вы имеете в виду, сколько имен в общей сложности, или сколько имен, соответствующих определенным критериям? – Gavin

ответ

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

Если бы я хотел вывести его в тексте плана, как бы я? – 2009-08-08 19:26:28

+6

Если бы вы этого хотели, Чарльз, вы должны нанять разработчика! – Will

+1

Я отредактировал ответ Дэна, чтобы показать, как это нужно сделать, но я согласен на 100% с волей, вам либо нужно нанять разработчика, либо потратить некоторое время на изучение языка, включая потенциальные последствия для безопасности всех ваших действий, и это нужно сделать задолго до публикации любого веб-сайта. – UnkwnTech

0

Если вы заполняете таблицу из массива, вы можете использовать count($array) в коде PHP, чтобы вывести количество элементов в массиве. только

1

, если вы хотите уникальные имена,

SELECT COUNT(DISTINCT name_column) FROM table_name 
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.'; 
?> 
0

Только в случае, если вы реализуете какой-то пагинацией и хотят также показать общее количество записей, которое вы могли бы использовать MySQL's FOUND_ROWS().
, например.

$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'; 
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(); 
} 
Смежные вопросы