gpt4 book ai didi

php - 表单发送后根据所选选项将数据库值从 0 更新为 1

转载 作者:行者123 更新时间:2023-11-29 19:01:19 24 4
gpt4 key购买 nike

我的问题看起来很简单,但我对 PHP 不太了解。

我有两个表:

表 1:** 证书 **/表 2:** key **

它们的列顺序或数量不同。 Table2 具有预定值,而 table1 是干净的,接收用户插入的数据。

用户使用表单向table1 中插入数据。在此表单中,有一个选择填充了 table2 中的数据。

选择选项是键,如下所示:

1112、1113、1114 等

我需要的是,当用户在table1中插入一个键时,table2中键的状态从0更新为1。(因此该键不会在select中显示)。

这是将数据插入 table1 的代码

<?php
if ($registro != "") {
include("conexao-certificado.php");
$conexao = @mysql_connect($host, $user, $pass)
or die("Cadastro");
$query = "INSERT INTO certificados VALUES ('$id','$registro','$aluno','$professor','$escola','$publicado_por','$registrado_por','$ano','$curso','$cpf','$grade', now() );";
mysql_query($query, $conexao);
$url = basename($_SERVER['PHP_SELF']);
echo "<script>window.location='$url'</script>";
} else {

}

?>

这是填充选择的代码:

<?php
include("conexao-certificado.php");
$conexao = @mysql_connect($host, $user, $pass);
if (!$conexao)
die("Nao foi possivel conectar no servidor MySQL. Erro: " . mysql_error());
mysql_select_db($db) or die("Nao foi possivel usar o banco de dados. Erro: " .
mysql_error());
$palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]);
$qr = "SELECT idchave FROM chaves WHERE (publicado_por LIKE '%" . $_SESSION['nome'] . "%" . $_SESSION['sobrenome'] . "%' AND status LIKE '0' ) ORDER BY idchave ASC;";
$sql = mysql_query($qr);

?>
<select name="registro" id="registro">
<?php
echo '<option value="">Selecione a chave</option>';
while ($r = mysql_fetch_array($sql)) {
echo '<option value="' . $r['idchave'] . '">' . $r['idchave'] . '</option>';
}

?>
</select>

我尝试将其放在 INSERT 之后,但只有当我指定“idchave=1112”等 key 时它才有效。

$atualiza = "UPDATE chaves SET status=1 WHERE idchave=$registro;";
mysql_select_db($db);
mysql_query($query,$conexao);
mysql_query($atualiza,$conexao);

我找到了解决方案。这就是我所做的。首先,a 在 table1 中创建了一个列,其状态始终为 1,而在 table2 上,状态始终为 0。

之后,我在代码中添加了 INNER JOIN。

代码如下:

$atualiza = "UPDATE chaves c1
INNER JOIN certificados c2 ON c1.registro = c2.registro
SET c1.status = c2.status;";
mysql_query($atualiza,$conexao);

感谢您的所有帮助。

最佳答案

为了实现你的目标,

在 table1 上插入查询后,为您的 table2 创建更新查询这会将状态更新为 1,更新 table2 后,

在下拉选择查询中添加一个条件,以仅显示表2上状态为0的字段,

这样它就不会再显示在选择上

关于php - 表单发送后根据所选选项将数据库值从 0 更新为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43858981/

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