Я пытаюсь сделать приложение викторины, которое показывает ответы с переключателями по бокам. При нажатии следующей кнопки появится набор новых ответов и замените.
Мне удалось сделать четыре вопроса всплывающими, как и предполагалось, и четыре новых вопроса, когда я нажимаю кнопку «Далее».
Прямо сейчас есть одна проблема, мой первый набор из четырех ответов (с qid = 1) не исчезает, что странно, так как другой набор ответов с qid = 2 и 3 делает и заменяет друг друга всякий раз, когда я нажимаю следующую кнопку.
Как сделать так, чтобы появлялись новые ответы и заменяли старые?
Вот мой код до сих пор PHP:
$qid1 = 1;
$sql1 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid1'");
while($row=mysqli_fetch_assoc($sql1))
{
echo "<input type='radio' name='answer1' value='".$row['Point']."'>".$row['answer'] ."<br>";
}
echo "<input type='submit' name='forward1' value='next'>";
$qid2 = 2;
$sql2 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid2'");while($row2=mysqli_fetch_assoc($sql2)){
if (isset($_POST['forward1'])) {echo "<input type='radio' name='answer2' value='".$row2['Point']."'>".$row2['answer'] ."<br>";
}
}
echo "<input type='submit' name='forward2' value='next'>";
$qid3 = 3;
$sql3 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid3'");
while($row3=mysqli_fetch_assoc($sql3)){
if (isset($_POST['forward2'])) {echo "<input type='radio' name='answer3' value='".$row3['Point']."'>".$row3['answer'] ."<br>";
}
}
echo "<input type='submit' name='forward3' value='next'>";
Вы должны разделить свои входные данные с помощью тегов формы. Для каждого из ваших циклов сделать что-то вроде этого ..
echo "<form>";
$sql3 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid3'");
while($row3=mysqli_fetch_assoc($sql3)){
if (isset($_POST['forward2'])) {
echo "<input type='radio' name='answer3' value='".$row3['Point']."'>".$row3['answer'] ."<br>";
}
}
echo "<input type='submit' name='forward3' value='next'>";
echo "</form>";
Попробуй это..
<?php
$localhost = "localhost";
$username = "root";
$password = "";
$connect = mysqli_connect($localhost, $username, $password) || die("Kunde inte koppla");
mysqli_select_db($connect, 'wildfire');
// let's put the qid in a session var
session_start();
$qid = isset($_SESSION['qid']) ? $_SESSION['qid']+1 : 1;
$_SESSION['qid'] = $qid;
ob_start();
echo "<form>";
$sql1 = mysqli_query($connect,"SELECT * FROM question where qid ='$qid'");
while($row1=mysqli_fetch_assoc($sql1))
echo "<input type='radio' name='answer1' value='{$row1['Point']}'>{$row1['answer']}<br>";
echo "<input type='submit' name='forward1' value='next'>";
echo "</form>";$output = ob_get_clean();?>
?><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php echo $output; ?>
</body>
</html>
Других решений пока нет …