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

Тема в разделе "Базы данных", создана пользователем sunyang, 9 апр 2011.

Модераторы: latteo
  1. sunyang

    sunyang

    Регистр.:
    25 апр 2009
    Сообщения:
    440
    Симпатии:
    30
    Есть таблица gs_users в базе bazename:
    PHP:
    CREATE TABLE IF NOT EXISTS `gs_users` (
      `
    idint(6unsigned NOT NULL AUTO_INCREMENT,
      `
    emailvarchar(100NOT NULL,
      `
    passvarchar(35NOT NULL,
      `
    fpassvarchar(30) DEFAULT NULL,
      `
    loginvarchar(30NOT NULL,
      `
    tzonechar(6NOT NULL,
      `
    edatedatetime NOT NULL,
      `
    mdatedatetime NOT NULL,
      `
    cdatevarchar(10NOT NULL,
      `
    loggedint(1unsigned DEFAULT '0',
      `
    firstnamevarchar(60NOT NULL,
      `
    lastnamevarchar(60NOT NULL,
      `
    bdatedate NOT NULL,
      `
    sloveint(2unsigned DEFAULT '0',
      `
    hobbitext,
      `
    workvarchar(250) DEFAULT NULL,
      `
    love_musictext,
      `
    love_movietext,
      `
    love_bookstext,
      `
    love_colortext,
      `
    i_amtext,
      `
    deviztext,
      `
    my_dreamtext,
      `
    countryvarchar(50) DEFAULT NULL,
      `
    districtvarchar(50) DEFAULT NULL,
      `
    cityvarchar(50) DEFAULT NULL,
      `
    icqvarchar(20) DEFAULT NULL,
      `
    viewsint(6unsigned DEFAULT '0',
      `
    ratingint(6) DEFAULT '0',
      `
    phonetext,
      
    PRIMARY KEY (`id`)
    )
    Каким запросом можно возвратить количество строк в таблице?
    А именно интересует количество строк id записанных в таблицу.
     
  2. rex1963

    rex1963

    Регистр.:
    19 фев 2007
    Сообщения:
    228
    Симпатии:
    47
    Пробуй так:

    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'];

     
  3. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
    rex1963 че за запросы такие? еще й 2 штуки ...

    PHP:
    SELECT COUNT(idFROM `gs_users`
    и больше ничего ненужно
     
  4. rex1963

    rex1963

    Регистр.:
    19 фев 2007
    Сообщения:
    228
    Симпатии:
    47
    PHP:
    SELECT SQL_CALC_FOUND_ROWS
    дает возможность подсчета количества всех подходящих под запрос записей. Конечно, если просто подсчитывать число зарегистрированных, то подойдет COUNT(id, но ведь не факт, что в последующем захочется сделать постраничный вывод по условию. В принципе, можно заложить в запрос некий функционал, для дальнейшего расширения скрипта.
     
  5. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
    Если в скрипте уже есть запрос на выборку всей инфы из таблицы gs_users
    PHP:
    $users=mysql_query("SELECT * FROM gs_users");
    то, чтоб не делать лишних запросов, можно применить
    PHP:
    $count=mysql_num_rows($users);