2015-04-02 4 views
2

У меня есть эта установка базы данных:PHP - Правильный способ сравнения радио кнопку проверки по базе данных

Наряду с этим кодом,

if($result = $db->query("SELECT * FROM questions")){ 
    if($count = $result->num_rows){ 

    while($row = $result->fetch_object()){ 
     echo $row->question, '<br><br>'; 
     echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans1 . '</label><br/>'; 
     echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans2 . '</label><br/>'; 
     echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans3 . '</label><br/>'; 
     echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans4 . '</label><br/>'; 
     echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->correct_ans . '</label><br/><br/>'; 

    }   
     $result->free(); 
    } 
} 

Что дает этот вывод:

Мне было интересно, как могу ли я проверить, отвечает ли пользователь на правильный ответ, хранящийся в базе данных?

Я полагал, что было бы лучше сделать оператор if и проверить, не был ли выбран правильный ответ. Я просто не знаю, как я это выполнил, если бы кто-то мог указать мне в правильном направлении, это было бы очень полезно.

+0

Добро пожаловать в переполнение стека! Этот вопрос немного короткий по информации. Можете ли вы поделиться тем, что вы пробовали, и с какими проблемами вы столкнулись? –

+0

вам нужно будет использовать какой-либо вызов ajax –

+0

Ну, я в основном искал теоретические советы, но с точки зрения кода. Моя основная трудность состоит в том, чтобы сравнить выбранный пользователем ответ от каждой радиостанции с правильным ответом в базе данных. –

ответ

-2

одинаковое имя для всех переключателей, но значения должны быть разными. при щелчке переключателя вы получите значение, подлежащее проверке.

0

просто введите правильный ответ на другое значение, а затем напишите цикл while, который проверяет вопрос.

что-то подобное (скажем, каждый вопрос имеет имя q и номер после него):

$count = 1; 
$right_answers = 0; 
while ($count <= 5) { 
    if ($_POST['q'.$count] == "right") { 
     $right_answers++; 
    } 
    $count++; 
} 

$right_answers является подсчет правильных ответов.

+0

Я не понимаю, почему вы проверили бы, проверена ли радиокнопка «справа». Не лучше ли сохранить правильный ответ, например: $ answer = $ row-> correct_ans; Затем проверьте, соответствует ли радиокнопка, а не слово «право»? –

+0

@joemartin '$ _POST ['q'. $ Count]' возвращает значение '', вы можете хранить как значение все, что угодно. – OfirH

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