gpt4 book ai didi

php - 通过单击按钮调用行 MYSQL/PHP

转载 作者:行者123 更新时间:2023-11-30 22:19:06 25 4
gpt4 key购买 nike

我正在创建在线考试。我的布局是一次显示一个问题,下面是多项选择。多项选择的底部是一个“下一步”按钮,单击该按钮将显示下一个问题。

问题和多项选择存储在数据库中。

问题是,下一个按钮起作用了,但它将我重定向到另一个页面。当我只想隐藏上一个问题并在单击下一个问题时显示下一个问题。

这是我的代码:db

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>&nbsp;<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 />";
}
}
?>

最佳答案

将表单的操作参数留空,这样表单将提交回当前页面。然后使用 PHP 读取上一个提交的问题并加载下一个以显示给用户。您可以使用隐藏的输入字段来跟踪提交的问题。

表单代码:

<form action="" method="post">
<input type="hidden" name="question_number" value="<?php echo $mynumber; ?>" />
<input type="radio" name="answer" value="A." /><?php echo $answerA; ?> <br/>
<input type="radio" name="answer" value="B." /><?php echo $answerB; ?> <br/>
<input type="radio" name="answer" value="C." /><?php echo $answerC; ?> <br/>
<input type="radio" name="answer" value="D." /><?php echo $answerD; ?> <br/>
<input type="submit" name="next" value="Next">
</form>

PHP代码:

if (isset($_POST['question_number']))
{
// Record the last answer
$stmt = $db->prepare("INSERT INTO user_answer_table (answer_field) VALUES (':answer')");
$stmt->bindParams(':answer', $_POST['answer']);
$stmt->execute();

// Load the next question
$stmt = $db->prepare("SELECT * FROM question_table WHERE question_id = :questionid");
$stmt_>bindParams(':questionid',$_POST['question_number']+1);
$stmt->execute();
}

关于php - 通过单击按钮调用行 MYSQL/PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37234021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com