За последние 24 часа нас посетили 52849 программистов и 1768 роботов. Сейчас ищут 915 программистов ...

скрипт выводящий общее количество зарегистрированных пользователей

Тема в разделе "PHP для новичков", создана пользователем StepanAMK, 23 мар 2017.

  1. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    PHP:
    1. <?
    2. $res = mysql_query('SELECT COUNT( * ) AS  `Строки` ,  `ID`  FROM `b_user`');
    3. if($res)
    4.    $row = mysql_fetch_array($res, MYSQL_NUM);
    5. $kolvo_userov = !empty($row[0]) ? $row[0] : 0; //
    6. echo $kolvo_userov ;
    7. ?>
    Есть вот такой вот код, нашёл на сайте, при вставке его на мой сайт выдаёт значение 0

    судя повсему нужно поменять значение Строки` в $res не подскажите какое туда значение подставить?
     
  2. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Выкинь этот код в помойку. Он устарел давно.
     
  3. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    Подскажи что то другое?
     
  4. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    @StepanAMK, как у тебя называется таблица в базе данных, в которой хранятся юзеры?
     
  5. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    b_user
     
  6. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    Используй mysqli

    /* определяем, существует ли пользователь в базе */
    $UserInfo_count = $QueryUserInfo->num_rows;

    вернет количество строк от запроса к базе
     
  7. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    непонял
    --- Добавлено ---
    Опробовал непашет
    сделал вот так
    $UserInfo_count = $QueryUserInfo->num_rows;
    echo $UserInfo_count;
     
  8. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Нельзя так делать. А если в таблице мильйон записей? Чтоб узнать количество ты достаёшь всё что есть в таблице? Есть параметр COUNT (*). Он возвращает количество записей (Одно значение, а не мильйон). Потом делаешь fetch_* и достаёшь значение.
     
  9. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    я тупарыл в php мне бы уже что-нибудь готовенькое
     
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Что ниудь готовенькое - не вариант. Тыхочешь выучить php, или пришёл получить готовенькое? Если первый вариант - мы поможем,а если второй - модеры перенесут в тему "Сделайте за меня".
     
  11. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    PHP:
    1. $query=$db->query("SELECT COUNT(*) as count FROM b_users");
    2. $query->setFetchMode(PDO::FETCH_ASSOC);
    3. $row=$query->fetch();
    4. $count=$row['count'];
     
  12. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    я сделал то что указал в самом вверху, но как выяснелось это устарело
    --- Добавлено ---
    а вывод будет echo $count ?
     
  13. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
  14. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Могу перенести тему в раздел "сделайте за меня"
     
    askanim нравится это.
  15. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    ошибка Fatal error: Call to a member function query() on a non-object in /home/c/cp81082/public_html/bitrix/templates/main/header.php on line 85
     
  16. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    1. Забудь про mysql_*. 2017-й год на дворе. Этот драйвер уже не работает в новых версиях php. Используй mysqli_*, тем более, синтаксис почти не отличается.
    2. Я не знаю что людям не нравится в твоём запросе. Я б так и сделал. "SELECT COUNT (*) as `cnt` FROM `users`". (Я думаю что не стоит называть индексы кирилицей).
    3. Сделай var_dump ($row) после вызова fetch_array () и посмотри где там нужное значение. (DEBUG!)
     
  17. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    нестоит
     
    denis01 нравится это.
  18. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    А ещё лучше PDO, хотя его я рекомендовать не могу, т.к. сам им не пользуюсь. И не умею)
     
  19. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    PHP:
    1. //подключение к базе данных (введи свои параметры)
    2. $host = '127.0.0.1';
    3. $db   = 'test';
    4. $user = 'root';
    5. $pass = '';
    6. $charset = 'utf8';
    7.  
    8. $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    9.     $opt = [
    10.         PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    11.         PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    12.         PDO::ATTR_EMULATE_PREPARES   => false,
    13.     ];
    14.     $pdo = new PDO($dsn, $user, $pass, $opt);
    15.  
    16. //сам запрос
    17. $query=$pdo->query("SELECT COUNT(*) as count FROM b_users");
    18. $row=$query->fetch();
    19. $count=$row['count'];
    20.  
    21. //выводим результат
    22. echo $count;
     
    askanim нравится это.
  20. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    У меня там запрос по уникальному идентификатору , вернётся или одна или ноль строк, так что не сильно слияет)) и в mysqli описан именно этот счетчик, хотя конечно-же можно и в запросе коунтом посчитать)
     
  21. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    А если подключение к БД находится в отдельном файле можно ли как то это всё завизать сним, дабы не писать лишнее
     
  22. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    создаешь файл connectdb.php и туда всё подключение, лучше $mysqli

    потом в файле, где необходимо соединение с БД пишешь

    require_once("connectdb.php");
     
  23. StepanAMK

    StepanAMK Новичок

    С нами с:
    24 июн 2016
    Сообщения:
    138
    Симпатии:
    5
    Вообщем не получилась так сайт вообще перестаёт работать и начинает ругаться на подключение к БД, хотя я всё верно ввожу
     
  24. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Так а ошибка какая?
     
  25. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Покажи код подключения из файла, который есть.