подсчет количества строк в таблице?

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
Есть таблица gs_users в базе bazename:
PHP:
CREATE TABLE IF NOT EXISTS `gs_users` (
  `id` int(6) unsigned NOT NULL AUTO_INCREMENT,
  `email` varchar(100) NOT NULL,
  `pass` varchar(35) NOT NULL,
  `fpass` varchar(30) DEFAULT NULL,
  `login` varchar(30) NOT NULL,
  `tzone` char(6) NOT NULL,
  `edate` datetime NOT NULL,
  `mdate` datetime NOT NULL,
  `cdate` varchar(10) NOT NULL,
  `logged` int(1) unsigned DEFAULT '0',
  `firstname` varchar(60) NOT NULL,
  `lastname` varchar(60) NOT NULL,
  `bdate` date NOT NULL,
  `slove` int(2) unsigned DEFAULT '0',
  `hobbi` text,
  `work` varchar(250) DEFAULT NULL,
  `love_music` text,
  `love_movie` text,
  `love_books` text,
  `love_color` text,
  `i_am` text,
  `deviz` text,
  `my_dream` text,
  `country` varchar(50) DEFAULT NULL,
  `district` varchar(50) DEFAULT NULL,
  `city` varchar(50) DEFAULT NULL,
  `icq` varchar(20) DEFAULT NULL,
  `views` int(6) unsigned DEFAULT '0',
  `rating` int(6) DEFAULT '0',
  `phone` text,
  PRIMARY KEY (`id`)
)

Каким запросом можно возвратить количество строк в таблице?
А именно интересует количество строк id записанных в таблицу.
 
Пробуй так:

PHP:
$query = "SELECT SQL_CALC_FOUND_ROWS * FROM gs_users WHERE id<>0";
$query1 = "SELECT FOUND_ROWS() AS count";

 $ctg = mysql_query($query1);	
 $c = mysql_fetch_assoc($ctg);	
  
echo $c['count'];
 
rex1963 че за запросы такие? еще й 2 штуки ...

PHP:
SELECT COUNT(id) FROM `gs_users`
и больше ничего ненужно
 
PHP:
SELECT SQL_CALC_FOUND_ROWS
дает возможность подсчета количества всех подходящих под запрос записей. Конечно, если просто подсчитывать число зарегистрированных, то подойдет COUNT(id, но ведь не факт, что в последующем захочется сделать постраничный вывод по условию. В принципе, можно заложить в запрос некий функционал, для дальнейшего расширения скрипта.
 
Если в скрипте уже есть запрос на выборку всей инфы из таблицы gs_users
PHP:
$users=mysql_query("SELECT * FROM gs_users");
то, чтоб не делать лишних запросов, можно применить
PHP:
$count=mysql_num_rows($users);
 
Назад
Сверху