[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вывод голосов
Guest
сделал первую половину скрипта голосования, осталось только вывести результаты голосования, но как? надо чтобы показывались все варианты и вверху был самый популярный ответ итд.. также чтоб справа выводилось кол-во проголосовавших за этот ответ



Спустя 3 минуты, 23 секунды (31.01.2011 - 22:45) inpost написал(а):
Во первых укажи, где содержится информация о голосовании, в каком виде, какая структура, тогда и можно будет говорить о том, как вывести.

Спустя 12 секунд (31.01.2011 - 22:45) quickxyan написал(а):
ну я думаю надо сделать мини-калькулятор, что бы он считал количество проголосовавших за каждый вариант. а потом просто смотрим какой больше тот и первый и так далее.

Спустя 45 минут, 35 секунд (31.01.2011 - 23:31) Guest написал(а):
inpost
Допустим у нас за 1 ответ проголосовало 2 человека, за второй 3, то есть 5 человек
есть бд где указан ник и вариант ответа, надо както вывести кол-во проголосовавших за 1 и 2 вопрос и сложить, потом отсортировать

Спустя 32 минуты, 32 секунды (1.02.2011 - 00:03) quickxyan написал(а):
сделай например отдельную таблицу на вопрос. каждое поле - вариант ответа + еще одно поле ник . При голосовании за какой-то вариант записываем в данное поле 1, а во все остальные 0, в поле ник записываем ник. потом просто выбираем все данные и плюсуем.

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

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

Спустя 41 минута (1.02.2011 - 00:44) Guest написал(а):
чет ваще никак... помогите код написать плз(

Спустя 1 минута, 9 секунд (1.02.2011 - 00:45) inpost написал(а):
Guest
Ты так и не ответил, где содержатся данные.
http://www.google.ru/search?hl=ru&source=h...i=g-t1&aql=&oq=
Так же они могут быть на файлах.

Спустя 1 минута, 16 секунд (1.02.2011 - 00:47) Guest написал(а):
inpost
ответил... "есть бд где указан ник и вариант ответа, надо както вывести кол-во проголосовавших за 1 и 2 вопрос и сложить, потом отсортировать"(с)

Спустя 33 секунды (1.02.2011 - 00:47) Guest написал(а):
inpost
mysql

Спустя 10 минут, 5 секунд (1.02.2011 - 00:57) inpost написал(а):
Считаем через:
SELECT COUNT(*),`вариант` as `cnt` FROM `table` WHERE `вопрос` = 1 GROUP BY `вариант`.

Получишь что-то типо: "7ответов","1вариант"

Спустя 12 минут, 21 секунда (1.02.2011 - 01:10) Invis1ble написал(а):
Guest
select count(*) from `table` where `answer`=1;
select count(*) from `table` where `answer`=2;

заносишь результаты в массив, к примеру, а потом сортируешь его sort()

inpost
а зачем там group by?

Спустя 19 минут, 49 секунд (1.02.2011 - 01:30) inpost написал(а):
Invis1ble
Чтобы получить тоже самое, что у тебя, только одним запросом. Будут 2 строки, перебираем их mysql_fetch_assoc() =)

Спустя 21 минута, 6 секунд (1.02.2011 - 01:51) Invis1ble написал(а):
dump:
Свернутый текст
CREATE TABLE IF NOT EXISTS `answers` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nickname` varchar(255) NOT NULL,
`answer` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
INSERT INTO `answers` (`id`, `nickname`, `answer`) VALUES
(1, 'nickname1', 'yes'),
(
2, 'nickname2', 'no'),
(
3, 'nickname3', 'yes'),
(
4, 'nickname4', 'no'),
(
5, 'nickname5', 'yes');


query:
select count(*) cnt, `answer` from `answers`
where `answer` = 'yes'
union
select
count(*), `answer` from `answers`
where `answer` = 'no'
order by cnt desc


var_dump($data):
Свернутый текст
array
0 =>
array
'cnt' => string '3' (length=1)
'answer' => string 'yes' (length=3)
1 =>
array
'cnt' => string '2' (length=1)
'answer' => string 'no' (length=2)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.