azorr
@azorr
программирую по мере возможности..

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

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

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

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

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

Вот он запрос:

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


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

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

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

PHP:

<i>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;
}</i>


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

<?php $id_count_category = 1; ?> // задаю id-нужной категории


<?php $count_items_return = get_count_items($id_count_category); ?>//вызываю функцию с параметром id-категории


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

Варианты вывода (1):

<i><h4> <?php echo $count_items_return; ?> записей</h4></i>


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

Варианты вывода (2):

<i><h4> <?php echo $count_items_return[0]; ?> записей</h4></i>


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

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


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

<i><h4> <?php $count_items_return; ?> записей</h4></i>


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


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

<i><h4><?php var_dump($count_items_return); ?> записей</h4></i>


Результат:

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


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

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

PHP:

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 <b>$count_items_return[0];</b>
}


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

===================================================

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

Как же сделать вывод вида: "5 записей" на странице?
  • Вопрос задан
  • 2269 просмотров
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
<?php echo $count_items_return[0]['COUNT(*)']; ?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kolosovas
Попробуй сделать в запросе AS `count_items`
$sql = "SELECT COUNT(*) AS `count_items` FROM `my_php_blog`.`items_table` WHERE id_category = $id_category";
Тогда твой вывод будет несколько другой и взять значение можно будет красивее
echo $count_items_return[0]['count_items'];

Но мне кажется будет более изящнее делать через fetch_assoc();
Удачи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы