gpt4 book ai didi

php - 更新随机选择的行

转载 作者:行者123 更新时间:2023-11-29 04:39:20 25 4
gpt4 key购买 nike

我正在构建一个代码,它会在您每次刷新页面或在屏幕上回答问题时随机显示一个问题。这是我的 conexao.php 文件中用于选择随机问题的代码:

$research = mysqli_query ($connection, "SELECT * FROM enquete ORDER BY RAND() LIMIT 1");
$result = mysqli_fetch_array($research);
$info = $result;

上面的代码可以很好地从我的“enquete”表中选择一个随机问题。

我遇到的问题是问题何时得到回答。这是我显示问题并显示 2 个提交按钮(是/否)的代码:

<?php
include 'conexao.php';

$contador = 0;

do{

echo $info['pergunta'];

if(isset($_POST['sim'])){

mysqli_query($connection,"UPDATE enquete SET sim = sim + 1 WHERE pergunta = '".$info['pergunta']."'") ;
echo "<br/>".$info['sim']."people who answered YES <br/>";
echo $info['nao']." people who answered NO <br/>";

}


$contador++;

} while ($contador < 1);

?>
<html>
<head>

<link rel="stylesheet" type="text/css" href="estilo.css">
<link async href="http://fonts.googleapis.com/css?family=Aclonica"
rel="stylesheet" type="text/css"/>
</head>
<div class="wrapper">
<form action="" method="post">
<input type="submit" class="botao-css" value="Sim" name="sim"/><br/>
<input type="submit" class="botao-css" value="Não" name="votarnao"/><br/>

</form>
</div>
</html>

我遇到的问题如下:上面的代码似乎可以将 1 添加到已回答的问题(在上面的示例中是 YES),但是它不是将 1 添加到屏幕上显示的当前随机问题,而是将 1 添加到将显示的下一个问题。

例如:

  • 问题 1:天空是蓝色的? (如果点击"is",则它会将 1 添加到下一个问题“sim”行,而不是添加到这一行。)
  • 问题 2:你喝水吗? (由于上一个问题,它已经得到 1,如果我对这个问题认为是,它会在下一个问题"is"行中添加 1)

当然,我打算做的是让系统将 1 添加到当前问题的"is"行,而不是下一个问题。

如果有人可以帮助我提供这方面的提示,我将非常高兴。

最佳答案

首先,我认为您需要在表单中添加一个字段,以确定哪个问题与提交相关:

<form action="" method="post">
<input type="hidden" name="pergunta" value="<?= $info['pergunta'] ?>" />
<input type="submit" class="botao-css" value="Sim" name="sim"/><br/>
<input type="submit" class="botao-css" value="Não" name="votarnao"/><br/>
</form>

那你就需要用这个代替了,但是为了防止SQL注入(inject),你应该确保它只能是一个整数:

mysqli_query($connection,"UPDATE enquete SET sim = sim + 1 WHERE pergunta = ".(int) $_POST['pergunta']) ;

$info 将是从 conexao.php 中获取的关于下一个问题的信息。 $_POST 将是上次提交的数据。因此,如果您指的是最后一个问题,则完全不使用 $info 是有意义的。

注意:如果 pergunta 不是整数,您应该使用准备好的语句来防止 SQL 注入(inject)。 (在这种情况下,也许用 id 替换 pergunta)

关于php - 更新随机选择的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33137045/

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