Доброе время суток! Нужно сделать тестик!!! Столкнулся с такой проблемой: есть таблица (id | vprs | otvet | otvet1 | otvet2 | otvet3 | otvet4), Нужно имено 4-е поля с вариантами ответов. Есть начальная разработка теста: Код (Text): MYSQL_CONNECT($hostname,$username,$password) OR DIE("error db connection :o("); @mysql_select_db("$dbName") or die(":-("); { $query = "SELECT * FROM table where tema='1' GROUP BY 'id' ORDER BY RAND()"; } $result = MYSQL_QUERY($query); $number = MYSQL_NUMROWS($result); $i = 0; WHILE ($i < $numv) { $flag=1; while($flag==1){ $n=rand(0,$number-1); if(@$arr[$n]==1){ $flag=1; }else{ $arr[$n]=1; $flag=2; } } $vopros = mysql_result($result,$n,"vprs"); $otvet = mysql_result($result,$n,"otvt"); //$variant = mysql_result($result,$n,"vrnt"); $otvet1 = mysql_result($result,$n,"otvt1"); $otvet2 = mysql_result($result,$n,"otvt2"); $otvet3 = mysql_result($result,$n,"otvt3"); $otvet4 = mysql_result($result,$n,"otvt4"); $tema = mysql_result($result,$n,"tema"); $voprosid = mysql_result($result,$n,"id"); $val[$i]=$voprosid; ?> <form name="sw" action='next.php' method='post'> Тут не знаю что писать? что-то типа echo '<input type=radio name="" value="1">'.$otvet1;
Код (Text): while($flag==1); $flag=2; Мы не ищем легких путей, называется? GROUP BY 'id' немного непонятно для чего это.. А по поводу вопроса, я тож не знаю что написать. Вы же не сказали, что хотите получить. на сколько я понимаю это вопрос с выбором одного варианта из нескольких? в валуе записываете значение то которое передастся Вам в скрипт после нажатия субмит. Да в принципе все верно С ВЫВОДОМ. А что не так?
да, мне гужно чтоб тестируемый выбрал один вариант, и тот который он выбрал, должен передаться на следующую страничку, где буду производиться подсчеты! Но проблема еще в том что на страницу могут выводиться до 10 вопросов, и мне нужно все это как-то взять в массив, но не знаю как!
Можно вот так: index.php PHP: <?php if (isset($_POST['choice'])) print_r($_POST); else { echo ('<form name="name" action="index.php" method="post">'); echo ('<input name="choice[0]" type="radio" value="1">Варик 1<br>'); echo ('<input name="choice[0]" type="radio" value="2">Варик 2<br>'); echo ('<hr>'); echo ('<input name="choice[1]" type="radio" value="1">Варик 1<br>'); echo ('<input name="choice[1]" type="radio" value="2">Варик 2<br>'); echo ('<input type="submit" value="Send">'); echo ('</form>'); } ?> Ток смотри, это самый простой вариант. Тут много чего не хватает. Использовать так как есть - нельзя
а как нужно в БД отмечать правильный ответ, если есть 4-е поля с вариантами ответов? наверное ответ цифрой поля варианта ответа! если первый вариант ответа правильный то поле ответ = 1?!?!!?
DMN, ну.. это уж кому как больше нравится извращений можно придумать сколько угодно я когда-то делал систему тестирования. Но у меня она была посложнее: любое количество вариантов ответов, все разновидности вопросов + реализация адаптивного тестирования методами классической теории тестирования (нечеткие множества, теория графов и пр) и Item Response (так по-моему) theory - Однопараметрическая модель Раша. Эт так. похвастался немного.. Так вот. Отдельно была таблица с вариантами верных ответов. Ибо выбор одно из вариантов (Ваш случай) это самое простое, и если думаете усложнять свою систему, сначала продумайте, что Вы в конечном итоге хотите видеть И вообще, Вам решать. Вы же автор
А Вус случайно не заволялась где-то тестовая прога(исходничек), приближоная к моим параметрам(имено 4 варианта в 4-ех полях)?
Нет. Точно нет. Да и чего сложного? У Вас почти все реализовано. Осталось немного запросики подправить и все. а Вам для каких целей? учеба вроде закончена уже, а для чего-то более менее серьезного нужно обладать знаниями побольше.
учеба еще не закончилась вот в запросиках и запара!!! Код (Text): if (isset($_POST['choice'])) print_r($_POST); что это значит? choice - у меня это как 'vprs'???
уууу... не.. так дело не пойдет.. сорри, но у меня работа. я б конечно все решил за Вас, но меня никто за это по головке не погладит и зарплату не заплатит. так. напутственное слово: $_POST - суперглобальный массив (понятия не имеете, что это такое) $isset() - функция (тоже не слышали) в общем, ничего не знаете это сделать все за Вас будет быстрее всего. Думаю, если это очнь срочно, выход - купить. Если не срочно - учить... 2 дня достаточно, если человек обладает способностью к программированию, для того чтобы получить уровень достаточный для того чтобы такое написать.
я бы купил! да у кого??? если отвлекаю вас от дел, то прошу извинеия!!! а учить нада, согласен, вот я уже научился чему-то
DMN, думаю если можете заплатить (имеешь возможность), это не проблема. Заходите тут, в соответствующий раздел. Пишете: плачу 10, баксов за скрипт. Думаю, сидящие здесь люди, с огромным удовольствием, попивая пивок (купленный за Ваши деньги) напишут Вам его за 20минут. Горбунов Олег, тсс.... думаю не стоит сразу пугать клиента.. потихонечку. Мы у него за поддержку скрипта лучше срубим
мне полностью теставая система не нужна!!! 200 баксов за 10 строк??? я хоть не ПХПешник, но ценЫЫЫ разработок ПО знаю!!! Код (Text): $variants=explode("|",$variant); $count=count($variants); for($idx=0;$idx<$count;++$idx){ echo '<input type=radio name='.$voprosid.' value='.$variants[$idx].'>'.$variants[$idx]; .$variants[$idx] его содержимое можно вывести в ренд порядке???
DMN Там не 10 строк. И цена даже не в них, а во времени. 1) Понадобиться время, чтобы понять что Вы хотите. 2) Понадобиться время, чтобы разобрать Ваш код, чтобы не переписывать его с нуля 3) Собственно время на разработку, с учетом особенностей системы, взаимоустойчивости и подобного. 4) Объяснить Вам, как все работает.
а может и правда за деньги пусть кто-то сделает!?!? мне впринципе надо только лишь чтоб свот по этому отрывку кода Код (Text): $variants=explode("|",$variant); $count=count($variants); for($idx=0;$idx<$count;++$idx){ echo '<input type=radio name='.$voprosid.' value='.$variants[$idx].'>'.$variants[$idx]; выодились варианты в разном порядке (произвольном)! А куда написать, чтоб нашлись желающие?