|
|
|
Текущее время: 06 сен 2010, 18:24
|
Сообщения без ответов | Активные темы
|
Страница 1 из 1
|
[ Сообщений: 3 ] |
|
| Автор |
Сообщение |
|
Nazz
|
Заголовок сообщения: выбор нескольких ответов Добавлено: 19 фев 2010, 19:25 |
|
Зарегистрирован: 19 фев 2010, 19:23 Сообщения: 2
|
|
в опщем есть код, который создает массив вопросов, которые находятся в БД, и выводит их случайным образом(тоесть не по порядку) на страницу. Вот етот код <?php //$mkr=$_POST['kat'];
if ($mkr) { $query = "SELECT * FROM putannya WHERE `mkr_num`='$mkr'"; $result=mysql_query($query); $_SESSION['mkr']=$mkr; $baza=array(); } for ($i=$pochatok; $i<=mysql_num_rows($result); $i+=1) { $r=mysql_fetch_assoc($result); //вывод вопроса и вариантов ответов к нему $baza[$i-1]['vopros']= $r['vopros']; // Название поля с вопросом vopros? $baza[$i-1]['id']=$r['id']; $baza[$i-1]['otvet1']=$r['otvet1']; $baza[$i-1]['otvet2']=$r['otvet2']; $baza[$i-1]['otvet3']=$r['otvet3']; $baza[$i-1]['otvet4']=$r['otvet4']; $baza[$i-1]['prav']=$r['pravulna']; } shuffle($baza); for ($i=0; $i<$kil/*count($baza)*/; $i++) { $c=$i+1; echo "<br/>Питання №$c:<b> "; echo $baza[$i]['vopros']; ?> <br/>
</b><input type="checkbox" name="vopros_<?php echo $baza[$i]['id']; ?>" value="1" /><?php echo $baza[$i]['otvet1'];?> </br><input type="checkbox" name="vopros_<?php echo $baza[$i]['id']; ?>" value="2" /><?php echo $baza[$i]['otvet2'];?> </br><input type="checkbox" name="vopros_<?php echo $baza[$i]['id']; ?>" value="3" /><?php echo $baza[$i]['otvet3'];?> </br><input type="checkbox" name="vopros_<?php echo $baza[$i]['id']; ?>" value="4" /><?php echo $baza[$i]['otvet4'];?> <br /> <?php $baza[$i]=implode('3.3', $baza[$i]); } $_SESSION['baza']=implode('9.9', $baza);
?>
после нажатия на кнопке submit, все ответы передаются следующему коду, на обработку результатов, и вывода(правильно ответил пользователь на вопрос, или нет)... Вот второй код
$a=array(); $baza=array(); $baza=explode('9.9', $_SESSION['baza']); for ($i=0; $i<$kil; $i++) { $baza[$i]=explode('3.3', $baza[$i]); $c=$i+1; echo "$i"; echo $_POST['vopros_'.$baza[$i]['1']]; echo ($_POST['vopros_'.$baza[$i]['1']]==$baza[$i]['6']) ? "Відповідь на питання <b>$c</b> - <font color=blue>правильна</font><br/>" : "Відповідь на питання <b>$c</b> - <font color=red>НЕ правильна!!!</font><br />"; if ($_POST['vopros_'.$baza[$i]['1']]==$baza[$i]['6']){ // Проверить, так ли называется поле в таблице pravulna //$query = "UPDATE login SET vidpovidi='Відповідь на питання <b>$c<b> - <font color=blue>правильна</font><br/>' WHERE familiya='{$_SESSION['familiya']}' and name='{$_SESSION['name']}' and father='{$_SESSION['father']}' and mkr='{$_SESSION['mkr']}'" or die("Помилка…"); $balu=$balu+1; $a[$i]="<br/>Відповідь на питання <b>$c</b> - <font color=blue>правильна</font>";} else {$a[$i]="<br/>Відповідь на питання <b>$c</b> - <font color=red>НЕ правильна</font>";} //{$query = "UPDATE login SET vidpovidi='Відповідь на питання <b>$c<b> - <font color=red>НЕ правильна!!!</font><br/>' WHERE familiya='{$_SESSION['familiya']}' and name='{$_SESSION['name']}' and father='{$_SESSION['father']}' and mkr='{$_SESSION['mkr']}'" or die("Помилка…"); } }
Вопросы находятся в БД, в таблице, и названия их колонок: otvet1,otvet2,otvet3,otvet4 - ето всё текстовые поля, а правильный ответ в колонке pravulna - там находится цыфра...
ети коды полностю работоспособны, всё работает ок)) просто мне поставили задачу зделать возможность выбора нескольких ответов пользователём, и чтобы во втором коде всё праильно проверялось... Я уже просто не знаю что делать.(( может подскажыте мне как ето реализовать... Надеюсь на выш опыт.. Просто я в только учу етот язык программирования...
|
|
|
|
 |
|
Nazz
|
Заголовок сообщения: Re: выбор нескольких ответов Добавлено: 22 фев 2010, 21:23 |
|
Зарегистрирован: 19 фев 2010, 19:23 Сообщения: 2
|
|
|
|
 |
|
Tander
|
Заголовок сообщения: Re: выбор нескольких ответов Добавлено: 20 мар 2010, 16:25 |
|
Зарегистрирован: 20 мар 2010, 16:19 Сообщения: 2
|
|
Код смотреть лениво, так что просто объясню, как вижу решение проблемы. Выбор ответов нужно делать либо чекбоксами, либо списком с мультивыбором. И в первом случае только выбранные чекбоксы передадутся(невыбранных просто не будет в глобальном массиве), а во втором - передавать надо отдельным массивом, который потом извлекать.
И вообще, этот топик смахивает на просьбу типа "сделайте все за меня". Нужно пробовать сделать, и если что-то не получается - спрашивать как можно конкретней.
|
|
|
|
 |
|
Страница 1 из 1
|
[ Сообщений: 3 ] |
|
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|
|