ФорумPHP.ru - Форум программистов PHPОбсуждение разных вопросов, связанных с программированием на PHP и прочее
   
  Главная страница  •  FAQ  •  Поиск   •   Регистрация  •   Вход  

Текущее время: 06 сен 2010, 18:24




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
 выбор нескольких ответов 
Автор Сообщение
 Заголовок сообщения: выбор нескольких ответов
СообщениеДобавлено: 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 - там находится цыфра...


ети коды полностю работоспособны, всё работает ок)) просто мне поставили задачу зделать возможность выбора нескольких ответов пользователём, и чтобы во втором коде всё праильно проверялось... Я уже просто не знаю что делать.(( может подскажыте мне как ето реализовать... Надеюсь на выш опыт.. Просто я в только учу етот язык программирования...


Не в сети
 Профиль  
 
 Заголовок сообщения: Re: выбор нескольких ответов
СообщениеДобавлено: 22 фев 2010, 21:23 

Зарегистрирован: 19 фев 2010, 19:23
Сообщения: 2
никто не поможет??


Не в сети
 Профиль  
 
 Заголовок сообщения: Re: выбор нескольких ответов
СообщениеДобавлено: 20 мар 2010, 16:25 

Зарегистрирован: 20 мар 2010, 16:19
Сообщения: 2
Код смотреть лениво, так что просто объясню, как вижу решение проблемы.
Выбор ответов нужно делать либо чекбоксами, либо списком с мультивыбором. И в первом случае только выбранные чекбоксы передадутся(невыбранных просто не будет в глобальном массиве), а во втором - передавать надо отдельным массивом, который потом извлекать.

И вообще, этот топик смахивает на просьбу типа "сделайте все за меня". Нужно пробовать сделать, и если что-то не получается - спрашивать как можно конкретней.


Не в сети
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 


 Кто сейчас на конференции 

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  



cron

 
 
Главная страница  |  FAQ  |  Поиск