Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Михаил привет! Еще один вопрос есть...
структура таблицы :
id | login |
Как сделать подсчет записей с большим количествомтого или иного логина если в базе есть допустим такие логини:
ненси -встречается в базе 3 раза
Лола - встречается 4 раза
Алис - 2 раза
Диана - 7 раз (вот как вот сделать подсчет и вывод именно записи где лола, но так что запрос не будет дан с конкретным условием WHERE login='Лола'
А чтоб он был динамический и подсчитывал так мне все логины содержащиеся в базе, и выводил мне в порядке возрастания ORDER by DESC ... помогите пожалуйста!
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Не мучайтесь с запросом, просто извлеките все записи, а дальше устройте подсчёт обычными средствами PHP.
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Это вообще возможно сделать средствами php ? Мне очень нужно, я не ищю легких путей! Ну и заодно если вам несложно расскажите тот способ который предложили вы!
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Разумеется, можно, просто нужно напрячь голову, хотя здесь классическая задача, которую даже новичок обязан знать и писать на автопилоте. Алгоритм следующий:
1. Перебор result_set.
2. Создание массива, где ключ - это логин. Причём если данный ключ уже был использован, то увеличить значение на 1, иначе присвоить 1.Примерно так:
if (isset($array[$login])) $array[$login] += 1;
else $array[$login] = 1;
3. Далее перебор получившегося массива через foreach и вывод количества совпадающих логинов:
foreach ($array as $key => $value) echo "Логин $key встречается $value раз";
Trust
Продвинутый
Дата регистрации:
03.11.2011 17:04:04
Сообщений: 67
Ну Михаил всего знать невозможно, вк живи, век учись. И не посопришь ведь=)