私はオンライン試験を作成しています。私のレイアウトは、一度に1つの質問を表示することです、そして、それは複数の選択肢です。複数選択の一番下にある「次へ」ボタンをクリックすると、次の質問が表示されます。ボタンをクリックして行を呼び出すMYSQL/PHP
質問と複数の選択肢は、データベースに格納されています。
次のボタンは機能しますが、別のページにリダイレクトされるという問題があります。私が望むのは、前の質問を隠し、次の質問が表示されたときにそれを表示することだけです。
これは私のコードです: デシベル
CREATE TABLE `english` (
`E_QueID` int(11) NOT NULL,
`Question` text NOT NULL,
`A` text NOT NULL,
`B` text NOT NULL,
`C` text NOT NULL,
`D` text NOT NULL,
`E` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
HTML
<div class="col-sm-8 bt-query">
<br>
<h4><left>Question 1</left> <right><div class="timer" data-seconds-left="20"></div></right></h4>
<br>
<?php
$query="SELECT * FROM english ORDER BY RAND() LIMIT 1";
$result = mysqli_query($conn, $query);
if (!$result) { // add this check.
die('Invalid query: ' . mysqli_error());
}
while ($row = mysqli_fetch_array($result)) {
echo $row['Question']. "<br />";
echo $row['A']. "<br />";
echo $row['B']. "<br />";
echo $row['C']. "<br />";
echo $row['D']. "<br />";
echo $row['E']. "<br />";
}
?>
<br>
<form action="englishq.php" method="get">
<input type="submit" name="next" value="Next">
</form>
</div>
englishq.php
<?php
$hostname = "localhost";
$user = 'root';
$password = '';
$db = 'questions';
//databse connection
$conn = mysqli_connect("$hostname", "$user", "$password", "$db")or die(mysqli_error());
if(isset($_GET['next'])){
$query="SELECT * FROM english ORDER BY RAND() LIMIT 1";
$result = mysqli_query($conn, $query);
if (!$result) { // add this check.
die('Invalid query: ' . mysqli_error());
}
while ($row = mysqli_fetch_array($result)) {
echo $row['Question']. "<br />";
echo $row['A']. "<br />";
echo $row['B']. "<br />";
echo $row['C']. "<br />";
echo $row['D']. "<br />";
echo $row['E']. "<br />";
}
}
?>
この質問はすでに数時間前に尋ねられました。私は重複を検索します – davejal
あなたは両方のPHPスクリプトを組み合わせて、 'form'の' action'属性を空にすることができます。同じスクリプトにデータを戻します。あなたのコードの ''要素はどこにありますか? '
@davejalの中にいくつか追加してください - 私はそれが本当の "重複"ではないと思います。なぜなら、このコードはPOの最後のより一般的な質問に基づいて開発されているからです。今、彼女はより具体的な問題に遭遇しました。彼女は現在解決しようとしています。それは、いくつかの段階でアドバイスを求める段階的学習プロセスです。 –