Имена эхо-категорий PHP в таблице MySQL - PullRequest
1 голос
/ 25 сентября 2011

В моей базе данных mysql есть таблица, которая выглядит следующим образом:

    id         |   category  |     title   
     1         |     blue    |     title1
     2         |    green    |     title2
     3         |     red     |     title3
     4         |    purple   |     title4
     5         |     red     |     title5
     1         |     blue    |     title1
     2         |    green    |     title2
     3         |     blue    |     title3
     4         |     blue    |     title4
     5         |     red     |     title5

.....

Я хочу отобразить названия категорий на своей странице, а затем посчитать, сколько элементов в каждой категории.

Цель примерно такая:

blue(4)
green(2)
red(3)
purple(1)

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

Ответы [ 2 ]

3 голосов
/ 25 сентября 2011

Не нужно связываться с ассоциативными массивами.Вы можете легко сделать это в SQL, используя GROUP BY и COUNT .См. Руководство MySQL для примера.

2 голосов
/ 25 сентября 2011

Я не собираюсь давать вам код, так как вы должны пытаться написать его самостоятельно, и поскольку это звучит как домашнее задание.

Вот основная идея того, как может выглядеть ваш PHP-скрипт:

  1. Выберите все строки в вашей базе данных.
  2. Создайте ассоциативный массив, в котором имя категории - это ключ, а количество появлений - это значение.
  3. Итерируйте по данным таблицы, которые выответьте на ваш запрос, и для каждой категории увеличьте соответствующий счетчик в вашем массиве.

Удачи и не стесняйтесь задавать другой вопрос, как только вы напишете некоторый код.

...