Задать вопрос
@zemf4you

Как сосчитать количество определённых знаков в столбце таблицы mySQL?

Дело в том, что я криворукий и ничего не знающий человек.
Пишу тест на php, суть проста:
Всего 28 человек. у 4 из 28 ответ неправильный, следовательно, каждый из 24 правильно ответивших получает по 5 баллов. У всех правильные ответы - каждому по 1 баллу. То есть, если $q - количество неправильно ответивших, то баллов за этот вопрос - $q++. Самый объективный способ ранжирования сложности вопросов (чем меньше знают ответ, тем сложнее вопрос).
Вот немного сделаный код (там всё через попу, не бейте)
<? 
include '**/bd.php'; //Данные от бд
mysql_select_db("***_bd",$connect);
$Count = 28 //Количество участников - 28

if ($CurrentCount = $Count) { //$CurrentCount - количество уже прошедших (кстати, как реализовать? По сути, надо проверить строку *человека* на наличие ответов)
for($i=a;$a<=40;$a++) { //тут это нужно (думаю, понятно, почему)
	${q}.$a = mysql_query(SELECT * FROM answers WHERE $a = "-".) //я даже не знаю, что я написал. Нужно узнать количество минусов в столбце с номером задания
	${answer}.$a = $q.$a + 1; //Не знаю, можно ли использовать ++, ибо вдруг 1 прибавится к номеру заданий
	echo $answer23; //Банальная проверка, не думаю, что сработает
}	
} else {
	echo <b>'Ещё не все решили тест.'<br>'Пожалуйста, подождите результатов.'</b>
}

?>

Вот как-то так. Объясните, пожалуйста, новичку, что да как. А то мануалы уже не помогают)

UPD: А ещё, как создать таблицу, где 28 строк (люди) и 40 столбцов (с номером задания)? testers - люди, answers - вопросы
  • Вопрос задан
  • 260 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@zm_llill
php-developer
я бы сделал 3 таблицы - в первой храним юзверей, во второй вопросы, в третьей use_id-question_id-answer
Тогда чтобы узнать сколько у вопроса ответов равных "-" можно просто: "SELECT COUNT(*) FROM `answers` WHERE question_id = 1 AND answer = '-'"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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