- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题看起来很简单,但我对 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/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!