2013-06-13 5 views
0

Я делаю онлайн-тест, где вы можете вводить ответы во входных элементах. После отправки теста я хочу, чтобы ответы базы данных сравнивались с введенными ответами, чтобы сказать, является ли это неправильным или нет, однако используемый мной сценарий не работает! : SПолучение ответов из базы данных

В этом проблема! В базе данных у меня есть 4 из 50 готовых ответов (еще не все), когда я отвечаю как на 4 правильных, так и на неправильных значениях, они верят, что они неверны. В нем перечислены все ответы, независимо от того, являются ли они правильными или неверными на странице, но они не работают правильно, независимо от того, какие данные я делаю, все ответы до 49 говорят неверно, то почему-то 50 говорят правильно? ...

Вот мой сценарий:

<?php 
$con=mysqli_connect("localhost","dstsbsse","pass","user"); 
if (mysqli_connect_errno($con)) 
    { 
    echo "ERROR - Failed to connect to MySQL Server. Please contact an Administrator at English In York: " . mysqli_connect_error(); 
    } 

//Set variables to hold output data and total score. 

$output=""; 
$score=0; 

//for-next loop. This means "Set n to value one. Every time through the loop (between {}) increase n by one. Do this while n is less than or equal to 50" 

for($n=1;$n<=50;$n++) 
    { 
    $sql="SELECT a$n FROM answer WHERE 1"; 
    // $sql="SELECT * FROM answer WHERE name='a$n'"; //sql is specific to your table of course - you will need to change this. 
    $result = $con->query($sql); // perform the query 
    $row = $result->fetch_assoc(); //load the result into the array $row 
    $key="a".$n;      //concatenate to generate the $_POST keys 
    if($row['answer']==$_POST[$key]) //compare the data from the table with the answer 
     { 
     //answer is correct 
     $score++; 
     $output.="Answer $n is correct</BR>"; //add responses to the output string 
     } 
     else 
     { 
     $output.="Answer $n is incorrect</BR>"; 
     } 
    } 
$output.="Total score: $score/50"; //add the score 
echo $output; //echo to screen. 

Вот пример один из вопросов, ответ коробки:

<input type="text" name="a1" id="a1" required> 

Как я могу это исправить?

ответ

1

Получение запрос типа:

SELECT a1 FROM answer 

вернется $row['a1'] вместо $row['answer']

Таким образом, вы должны использовать имя столбца, а не одну таблицу

+0

Он все еще возвращается, как будто это был неправ. Может быть, это база данных? –

Смежные вопросы