我有一个页面,该页面显示了从选项选择列表中显示CV的页面,该列表从数据库上的CV的表中检索行名和SRNAME,当单击post_form按钮时来自选项列表上当前选择名称的ID,并显示ID等于选择列表中的名称之一的所有行。
我已经创建了一个带有2个按钮的表单,每当将其发布时,该按钮与CV一起出现,以调用外部PHP文件来执行某些MySQL操作,这些操作将将当前显示的表行发送到repraved_candidates表或到APREVED_CANDIDATES表中以及两个操作添加删除操作后,将其从当前表中删除。
我设法将ID从列表中的选定名称传递给外部PHP页面,但是出了问题,但我不知道操作为什么失败。
post_form $ con:
<?php if (isset($_POST["post_form"])) {
$selectedUser = intval($_POST['users']); //pra selecionar o nome clicado na option list
if($selectedUser > 0){
$con = mysqli_connect("localhost","root","","chevron");
$q = "SELECT * FROM candidatos WHERE id = ".$selectedUser." ";
$result = mysqli_query($con, $q);
if (!$result) {
echo "ERROR";
}
$row = mysqli_fetch_array($result);
if(is_array($row) && count($row) > 0){
echo "<center><strong>CANDIDATO Nº.:</strong>".$selectedUser." <br><br><br></center>";
echo "<strong>NOME:</strong><br>".$row["nome"]."<br><br><br>";
echo "<strong>SOBRENOME:</strong><br> ".$row["sobrenome"]."<br><br><br>";
echo "<strong>MORADA:</strong><br> ".$row["morada"]."<br><br><br>";
echo "<strong>BI:</strong><br> ".$row["bi"]."<br><br><br>";
echo "<strong>EMAIL:</strong><br> ".$row["email"]."<br><br><br>";
echo "<strong>COMPETENCIAS:</strong><br> ".$row["competencias"]."<br><br><br>";
echo "<strong>IDIOMAS: </strong><br>".$row["idiomas"]."<br><br><br>";
echo "<strong>OBJECTIVO:</strong><br> ".$row["objectivo"]."<br>";
echo " <center>
<form class='decisions' method='POST' action='edit-record.php?id=".$row['id']."'>
<p>
Se achar esta candidatura excepcional e quiser mostra-la ao ADMINISTRADOR marque a caixinha pequena que esta apos o botão qualificado!
</p>
<input type='submit' name='btn_negar' value='NÃO QUALIFICADO'>
<input type='submit' name='btn_aceitar' value='QUALIFICADO'>
<input type='checkbox' name='checkbox_recomend' value='Recomendar ao Administrador'>
</form>
</center>";
}
}
}
?>
edit-record.php(外部php文件)*不起作用:
<!-- PHP TIME -->
<!-- botao negar -->
<?php if (isset($_POST['btn_negar'])) {
$selectedUser1 = $_GET['id'];
echo "<script>alert('Concorrente Eliminado')</script>";
echo $_GET['id'];
}
?>
<!-- botao aceitar -->
<?php if (isset($_POST['btn_aceitar'])) {
$selectedUser1 = $_GET['id'];
$con = mysqli_connect("localhost","root","","chevron");
$insere2 = "INSERT INTO candidatos_aptos FROM candidatos WHERE id = ".$_GET['id']."";
$apagar2 = "DELETE * FROM candidatos WHERE id = ". $_GET['id']."";
$result = mysqli_query ($con, $insere2) or die ("Não foi possível executar a inserção.");
$result = mysqli_query ($con, $apagar2) or die ("Não foi possível executar a exclusão.");
if (!$result) {
echo "<script>alert('Falhou com Sucesso!')";
}
echo "<script>alert('Foi Registrado com Sucesso!')";
}
?>
<!-- checkbox_recomend -->
<?php if (isset($_POST['btn_aceitar']) && isset($_POST['checkbox_recomend'])) {
$selectedUser1 = $row['id'] ;
$conexao = mysqli_connect("localhost", "root","", "chevron");
mysqli_select_db("chevron", $conexão);
$insere3 = "UPDATE candidatos_aptos SET (nome, sobrenome, morada, contacto, bi, email, competencias, idiomas, objectivo, estado) VALUES (nome, sobrenome, morada, contacto, bi, email, competencias, idiomas, objectivo, estado) FROM candidatos WHERE id = ".$selectedUser."";
$apagar3 = "DELETE FROM candidatos VALUES (nome, sobrenome, morada, contacto, bi, email, competencias, idiomas, objectivo, estado) WHERE id = ".$selectedUser."";
mysqli_query ($insere, $conexao) or die ("Não foi possível executar a inserção.");
mysqli_query ($apagar, $conexao) or die ("Não foi possível executar a inserção2.");
echo "<script>alert('Foi Registrado com Sucesso!')";
mysqli_close ($conexao);
}
?>
<!-- PHP TIME -->
问题可能在SQL INSERT INTO SELECT
查询中,应该是
$insere2 = "INSERT INTO candidatos_aptos SELECT * FROM candidatos WHERE id = ".$_GET['id']."";
如W3SCHOOLS上的这里所述
如果两个表都有相同的列,则应该使用。在外壳上尝试它以确保其有效。