Всем Привет!=)Создаю тест на PHP.
Имеется форма, пользователь дает ответы, и они с помощь AJAX передаються PHP скрипту он должен сравнить данные ответы с правильными,которые лежать в БД=)Как это сделать?
Вот структура БД:
13.01.png
Код страницы теста:
Код:
<?php
include ("blocks/bd.php"); /*Соединяемся с базой*/
if (isset($_GET['cat'])) {$cat = $_GET['cat'];}
$res=mysql_query("SELECT name FROM cat WHERE cat=$cat");
$row=mysql_fetch_array($res);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><?php include ('blocks/script.php'); ?>
<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<script type="text/javascript" src="Scripts/checktest.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Проверочный тест на тему <?php echo $row['name'] ?></title>
<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
<script>
$(function() {
$( "button" ).button();
$('#showResult').click(
function () {
var cat=$('#cat').val();
var v1=$("#1").val();
var v2=$("#2").val();
var v3=$("#3").val();
var v4=$("#4").val();
var v5=$("#5").val();
var res=$.ajax({
url: 'result-test.php', // указываем URL и
dataType : "xml", // тип загружаемых данных
type:'post',
cache:false,
data:({cat:cat,v1:v1,v2:v2,v3:v3,v4:v4,v5:v5}),
beforeSend: function() {alert('Отправка запроса...')},
complete: function() {
alert('Запрос отправлен')
$('#result').show().html(res.responseText);
alert('Готово!');
}
})
})
});
</script>
</head>
<body>
<div id="wrapper">
<? include("blocks/header.php"); ?>
<div id="content">
<!--Подключаем левый блок-->
<? include("blocks/left.php"); ?>
</div>
<div id="nav">
<img src="images/back.jpg" align="right" onClick="javascript:history.back()">
</div
><!--Подключаем правый блок-->
<br>
<div class="content" id="right">
<h3 style='color:#0091D7'>Проверочный тест на тему <?php echo $row['name'] ?></h3>
<?php echo "
<input name='cat' id='cat' type='hidden' value='".$cat."'/>"; ?>
<?php
$result=mysql_query("SELECT * FROM checktest WHERE cat=$cat");
while($myrow=mysql_fetch_array($result)and $i++<5) {
printf("
<table class='set'>
<tr>
<td class='set_title'><b>Задание №%s</b><hr></td>
</tr>
<tr>
<td>%s
<p><b>Ответ</b>: <input type='text' id='%s' name='%s'></input></p>
</td>
</tr>
</table><br />
",$i,$myrow['text'],$i,$i);
}
?>
<button type="button" name="showResult" id='showResult'>Показать Результат</button>
<div id='result' title="Результаты прохождения теста" style='display:none'></div>
</div>
<br class="clear">
<!--Подключаем правый футер-->
<? include("blocks/bottom.php"); ?>
</div>
</div>
</body>
</html>
Листинг файла result-test.php
PHP код:
if (isset($_POST['cat'])) {$cat = $_POST['cat'];}
if (isset($_POST['v1'])) {$v1 = $_POST['v1'];}
if (isset($_POST['v2'])) {$v2 = $_POST['v2'];}
if (isset($_POST['v3'])) {$v3 = $_POST['v3'];}
if (isset($_POST['v4'])) {$v4 = $_POST['v4'];}
if (isset($_POST['v5'])) {$v5 = $_POST['v5'];}
$result=mysql_query("SELECT answer FROM checktest WHERE cat=$cat");
while ($row=mysql_fetch_array($result)) {
extract($row);
}
printf("
<p>Даны ответы:</p>
<p>%s</p>
<p>%s</p>
<p>%s</p>
<p>%s</p>
<p>%s</p>
",$v1,$v2,$v3,$v4,$v5);
Помогите пожалуйста надо сделать так чтобы он сравнивал ответы из таблицы выше с теми что дал пользователь, незнаю как это реализовать надеюсь на вашу помощь!Заранее огромное Спасибо!