Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2010, 21:40   #1
Kaznadzey
Новичок
Джуниор
 
Регистрация: 22.02.2010
Сообщений: 1
Смущение выбор нескольких ответов

в опщем есть код, который создает массив вопросов, которые находятся в БД, и выводит их случайным образом(тоесть не по порядку) на страницу. Вот етот код
PHP код:
<?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, все ответы передаются следующему коду, на обработку результатов, и вывода(правильно ответил пользователь на вопрос, или нет)... Вот второй код

PHP код:
$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 - там находится цыфра...

код таблицы с вопросами
DROP TABLE IF EXISTS `putannya`;
CREATE TABLE `putannya` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`otvet1` text,
`otvet2` text,
`otvet3` text,
`otvet4` text,
`pravulna` int(11) DEFAULT NULL,
`vopros` text NOT NULL,
`mkr_num` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=24 ;



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

скрыншот того как выводятся вопровы наведён ниже
Изображения
Тип файла: gif 1.gif (3.8 Кб, 80 просмотров)
Kaznadzey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
dbGridEh и выбор нескольких строк tavrocotaps Общие вопросы Delphi 3 20.01.2010 23:31
Выбор ячеек по условию из нескольких листов hamlook Microsoft Office Excel 10 10.11.2009 16:00
Бланк ответов V@mpir Помощь студентам 9 30.10.2009 17:45
Выбор нескольких максимумов romir Microsoft Office Excel 4 18.09.2009 11:18