@Error420

Как вывести категории так чтобы они не повторялись?

Сделал блок с категориями для вывода статей по категориям,но столкнулся с проблемой.Когда вывожу названия всех категорий в отдельный блок то в этом блоке все названия повторяются.К скольким статьям была прикреплена категория "Спорт" столько раз она и выведется в блоке категорий. Как сделать так ,чтобы одна категория выводилась один раз?

P. S. Простите за тавтологию

<?php
//функция вывода категорий
function categories(){
global $link;
$sql = "SELECT `categories` FROM `post`";
$result = mysqli_query($link,$sql);
$posts = mysqli_fetch_all($result,MYSQLI_ASSOC);
return $posts;
}
$categories = categories();
?>
//вывод категорий из БД
<? foreach ($categories as $category => $value) : ?>

<?= $category['categories'] ?>


<? endforeach; ?>
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 3
Palehin
@Palehin
Frontend
SELECT DISTINCT `categories` FROM `post`

Попробуйте так.
Ответ написан
AngReload
@AngReload
Кратко о себе
Наверное, sql-запрос можно поменять на такой SELECT DISTINCT `categories` FROM `post`
Ответ написан
Если я правильно понял структуру таблицы, то у каждой статьи есть id и категория. Посчитать количество статей по категориям ( как бонус ) и выбрать сами категории без повторов, можно запросом вида:

SELECT count( `id` ) AS `post_count`, `categories` FROM `post` WHERE 1 GROUP BY `categories` ORDER BY `categories`
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы