Php select count from database

Как вывести с помощью PHP — количество записей из SQL-таблицы(базы) на html страницу?

Уважаемые знатоки!
Столкнулся с проблемой — там, где ее совсем не ожидал..

Мне нужно с помощью PHP — вывести количество записей из SQL-таблицы(базы) на html страницу.
Думал дело пустяковое, однако бьюсь уже 2-е сутки, и все безрезультатно..

Что делал и как рассуждал:

Первым делом написал SQL-запрос, и проверил его работоспособность непосредственно в СУБД SQL:

SELECT COUNT(*) FROM `items_table` WHERE id_category = '1'

Имею вполне логичный результат: COUNT(*) = 5 (записей входящих в категорию с )

Запрос, рабочий и я решаю двинуться дальше..

Далее, пишу функцию, собственно «Получения количества записей (Items)»:

function get_count_items($id_category) 

И вызываю ее на странице index.php:

//вызываю функцию с параметром id-категории

И далее, что я только не делал, для того, что бы вывести эту цифру (количества записей (Items)):

Результат: Array записей

Результат: Array записей (тоже самое)

Тут я надеялся обратится как к 1-му (0-вому) элементу массива — но тоже фиаско..


Варианты вывода (3)
(без echo):

Результат: записей (пустота в место цифры)


Варианты вывода (4)
(с помощью var_dump):

array(1) < [0]=>array(1) < ["COUNT(*)"]=>string(1) "5" >> записей

Да, в конце этого вывода — действительно выводится актуальное количество Записей в нужной категории.
Но как вывести просто цифру (без доп. информации)??

Пробовал также на стороне функции возвращать не переменную, а массив:

function get_count_items($id_category)< global $connect_sql; $sql = "SELECT COUNT(*) FROM `my_php_blog`.`items_table` WHERE id_category = $id_category"; $result = mysqli_query($connect_sql, $sql); $count_items_return = mysqli_fetch_all($result, 1); return $count_items_return[0]; >

Однако результат — пустой: . записей

То ли лыжи не едут, то ли что то я не понимаю.

Как же сделать вывод вида: «5 записей» на странице?

Простой 13 комментариев

Источник

Select Count Function From a MySQL Table in PHP

Select Count Function From a MySQL Table in PHP

  1. Count Rows in a MySQL Table With the Select Count(*) Function in PHP
  2. Display the Total Records Returned by a Query in a MySQL Table With the Select Count(*) Function in PHP

This tutorial will introduce the select count(*) function, count rows, and get the total records returned by a query from a MySQL table in PHP. Together with the tutorial are working sample codes and their output.

The first step is connecting to the MySQL table database in PHP. Below is a sample code we use to connect to our database.

php  $user = 'root'; $pass = ''; $db = 'sample tutorial'; //Replace 'sample tutorial' with the name of your database  $con = mysqli_connect("localhost", $user, $pass, $db);  //The code does not have an output, so we decided to print 'Database Connected'  echo "Database Connected";  ?> 

Remember to replace sample tutorial with the name of the database containing your MySQL table.

The above code usually displays no output when successfully connected. We decided to print Database Connected as the optional output in our case.

The table in our database is as follows:

Count Rows in a MySQL Table With the Select Count(*) Function in PHP

Below is a sample code to count rows in a MySQL table using PHP’s select count(*) function.

php  $user = 'root'; $pass = ''; $db = 'sample tutorial';  //Replace 'sample tutorial' with the name of your database  $con = mysqli_connect("localhost", $user, $pass, $db);  $sql = "SELECT * FROM parkinglot1";  $result = mysqli_query($con, $sql);  $num_rows = mysqli_num_rows($result);  printf("Number of rows in the table : %d\n", $num_rows);  ?> 

Источник

Как узнать количество записей в SQL-выборке

Как узнать количество записей в SQL-выборке

Очень часто нам не требуется извлекать данные из таблицы, однако, нам необходимо узнать количество записей в определённой SQL-выборке, в частном случае, количество записей в таблице. Вот как узнать количество записей в SQL-выборке, я расскажу в этой небольшой статье.

На самом деле всё очень просто, и нам нужна всего лишь функция COUNT():

SELECT COUNT(*) FROM `table` WHERE `field_1`=’value_1′

После выполнения данного запроса будет возвращён result_set, в котором будет храниться массив, содержащий элемент COUNT(*) со значением количества записей в таблице «table«, где поле «field_1» имеет значение «value_1«.

Другой пример. Допустим, надо узнать просто количество записей. Тогда то же самое, но без WHERE:

И давайте, напоследок, подкину ещё один пример. Допустим, Вам необходимо подсчитать количество уникальных записей в таблице:

SELECT COUNT(DISTINCT `field_1`) FROM `table`

Вот такой нехитрой функцией COUNT() можно легко узнавать количество записей в SQL-выборке, не извлекая при этом сами записи и экономя ресурсы.

Создано 12.03.2012 12:53:32

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 45 ):

    Михаил, здравствуйте! Хотел бы попросить у Вас помощи. Почему на реальном хостинге этот запрос не работает $res_articles = $mysqli->query(«SELECT id,title,cp_title,description,images,author,DATE_FORMAT(date,’%d %M %Y’) as date FROM articles WHERE tg=’0′ ORDER BY id DESC LIMIT $shift,$num_data»); Проблема в — LIMIT $shift,$num_data — не пойму почему не работает с переменными! Перепробовал все варианты, уже два дня голову ломаю :((( Если Вас не затруднит можете дать совет.

    Вряд ли дело в хостинге, Вы проверьте значения переменных shift и num_data. А также «не работает» понятие растяжимое. Выдаются ли какие-нибудь ошибки? Или просто пустой результат выходит?

    Пустой результат, но когда убираю LIMIT $shift,$num_data или пишу вместо переменных LIMIT 2, 5 то всё ОК. А может переменные привести к числу через integer?

    Тогда проблема в значении переменных, можете ещё попробовать через соединение строк: «LIMIT «.$shift.», «.$num_data

    Я так пробовал всё равно пустой результат, но в переменных лежат числа я проверял конечно я не проверял на int

    Посмотрите, что в этой строке (всё ли правильно): echo «SELECT id,title,cp_title,description,images,author,DATE_FORMAT(date,’%d %M %Y’) as date FROM articles WHERE tg=’0′ ORDER BY id DESC LIMIT $shift,$num_data»;

    Сейчас проверяю, главное что на localhoste всё работает

    Вывод после echo — SELECT id,title,cp_title,description,author,images,DATE_FORMAT(date,’%d %M %Y’) as date FROM articles WHERE tg=’0′ ORDER BY id DESC LIMIT -10,10.

    Видите, что запрос неправильный? Вот и подумайте, почему -10 подставляется.

    Спасибо Михаил за помощь разобрался просто в функции не изменил один параметр

    Источник

    Читайте также:  Изображения
    Оцените статью